< prev index next >

src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/EditObject.java

Print this page




  28 import java.util.Collections;
  29 import java.util.HashSet;
  30 import java.util.Set;
  31 import java.util.function.Consumer;
  32 import jdk.nashorn.api.scripting.AbstractJSObject;
  33 import jdk.nashorn.internal.runtime.JSType;
  34 import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED;
  35 
  36 /*
  37  * "edit" top level script function which shows an external Window
  38  * for editing and evaluating scripts from it.
  39  */
  40 final class EditObject extends AbstractJSObject {
  41     private static final Set<String> props;
  42     static {
  43         final HashSet<String> s = new HashSet<>();
  44         s.add("editor");
  45         props = Collections.unmodifiableSet(s);
  46     }
  47 

  48     private final Consumer<String> errorHandler;
  49     private final Consumer<String> evaluator;
  50     private final Console console;
  51     private String editor;
  52 
  53     EditObject(final Consumer<String> errorHandler, final Consumer<String> evaluator,
  54             final Console console) {

  55         this.errorHandler = errorHandler;
  56         this.evaluator = evaluator;
  57         this.console = console;
  58     }
  59 
  60     @Override
  61     public Object getDefaultValue(final Class<?> hint) {
  62         if (hint == String.class) {
  63             return toString();
  64         }
  65         return UNDEFINED;
  66     }
  67 
  68     @Override
  69     public String toString() {
  70         return "function edit() { [native code] }";
  71     }
  72 
  73     @Override
  74     public Set<String> keySet() {
  75         return props;
  76     }
  77 




  28 import java.util.Collections;
  29 import java.util.HashSet;
  30 import java.util.Set;
  31 import java.util.function.Consumer;
  32 import jdk.nashorn.api.scripting.AbstractJSObject;
  33 import jdk.nashorn.internal.runtime.JSType;
  34 import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED;
  35 
  36 /*
  37  * "edit" top level script function which shows an external Window
  38  * for editing and evaluating scripts from it.
  39  */
  40 final class EditObject extends AbstractJSObject {
  41     private static final Set<String> props;
  42     static {
  43         final HashSet<String> s = new HashSet<>();
  44         s.add("editor");
  45         props = Collections.unmodifiableSet(s);
  46     }
  47 
  48     private final Console console;
  49     private final Consumer<String> errorHandler;
  50     private final Consumer<String> evaluator;

  51     private String editor;
  52 
  53     EditObject(final Console console, final Consumer<String> errorHandler,
  54             final Consumer<String> evaluator) {
  55         this.console = console;
  56         this.errorHandler = errorHandler;
  57         this.evaluator = evaluator;

  58     }
  59 
  60     @Override
  61     public Object getDefaultValue(final Class<?> hint) {
  62         if (hint == String.class) {
  63             return toString();
  64         }
  65         return UNDEFINED;
  66     }
  67 
  68     @Override
  69     public String toString() {
  70         return "function edit() { [native code] }";
  71     }
  72 
  73     @Override
  74     public Set<String> keySet() {
  75         return props;
  76     }
  77 


< prev index next >