< prev index next >
src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/HistoryObject.java
Print this page
@@ -24,10 +24,13 @@
*/
package jdk.nashorn.tools.jjs;
import java.io.IOException;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
import java.util.function.Function;
import jdk.internal.jline.console.history.FileHistory;
import jdk.internal.jline.console.history.History;
import jdk.nashorn.api.scripting.AbstractJSObject;
import jdk.nashorn.api.scripting.JSObject;
@@ -36,10 +39,20 @@
/*
* A script friendly object that exposes history of commands to scripts.
*/
final class HistoryObject extends AbstractJSObject {
+ private static final Set<String> props;
+ static {
+ final HashSet<String> s = new HashSet<>();
+ s.add("clear");
+ s.add("forEach");
+ s.add("print");
+ s.add("size");
+ props = Collections.unmodifiableSet(s);
+ }
+
private final FileHistory hist;
HistoryObject(final FileHistory hist) {
this.hist = hist;
}
@@ -70,10 +83,15 @@
@Override
public String toString() {
return "[object history]";
}
+ @Override
+ public Set<String> keySet() {
+ return props;
+ }
+
private void print() {
for (History.Entry e : hist) {
System.out.println(e.value());
}
}
< prev index next >