summaryrefslogtreecommitdiff
path: root/tutorials/java/src/phpdbg/ui/History.java
diff options
context:
space:
mode:
Diffstat (limited to 'tutorials/java/src/phpdbg/ui/History.java')
-rw-r--r--tutorials/java/src/phpdbg/ui/History.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/tutorials/java/src/phpdbg/ui/History.java b/tutorials/java/src/phpdbg/ui/History.java
new file mode 100644
index 0000000000..2950087ef8
--- /dev/null
+++ b/tutorials/java/src/phpdbg/ui/History.java
@@ -0,0 +1,49 @@
+package phpdbg.ui;
+
+
+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();
+ }
+} \ No newline at end of file