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 |