< 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 >