package hextostring.history;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.Observable;
public class History extends Observable {
public static final int HISTORY_MAX_SIZE = 100;
private Deque<InputOutputPair> content = new LinkedList<InputOutputPair>();
public synchronized InputOutputPair getLast() {
return content.peek();
}
public synchronized void add(String input, String output) {
content.addFirst(new InputOutputPair(input, output));
if (content.size() > HISTORY_MAX_SIZE) {
content.removeLast();
}
setChanged();
notifyObservers();
}
@SuppressWarnings("unchecked")
public synchronized List<InputOutputPair> getContent() {
return (List<InputOutputPair>) content;
}
}