php-src/tutorials/java/src/History.java
2013-11-29 01:48:21 +00:00

47 lines
No EOL
1.1 KiB
Java

import java.util.ArrayList;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Implement a simple history list for command input
* @author krakjoe
*/
public class History extends ArrayList<String> {
private Integer position = new Integer(0);
public History() {
super();
}
@Override public boolean add(String text) {
String last = last();
if (text != null) {
if (last == null || !last.equals(text)) {
if (super.add(text)) {
position = size();
return true;
}
}
}
return false;
}
public String last() {
if (position >= 1) {
position--;
return get(position);
} else return new String();
}
public String next() {
if (position+1 < size()) {
position++;
return get(position);
} else return new String();
}
}