112 return "javascript";
113 case ScriptEngine.ENGINE:
114 return "Oracle Nashorn";
115 case ScriptEngine.ENGINE_VERSION:
116 return Version.version();
117 case ScriptEngine.LANGUAGE:
118 return "ECMAScript";
119 case ScriptEngine.LANGUAGE_VERSION:
120 return "ECMA - 262 Edition 5.1";
121 case "THREADING":
122 // The engine implementation is not thread-safe. Can't be
123 // used to execute scripts concurrently on multiple threads.
124 return null;
125 default:
126 return null;
127 }
128 }
129
130 @Override
131 public String getProgram(final String... statements) {
132 final StringBuilder sb = new StringBuilder();
133
134 for (final String statement : statements) {
135 sb.append(statement).append(';');
136 }
137
138 return sb.toString();
139 }
140
141 // default options passed to Nashorn script engine
142 private static final String[] DEFAULT_OPTIONS = new String[] { "-doe" };
143
144 @Override
145 public ScriptEngine getScriptEngine() {
146 try {
147 return new NashornScriptEngine(this, DEFAULT_OPTIONS, getAppClassLoader(), null);
148 } catch (final RuntimeException e) {
149 if (Context.DEBUG) {
150 e.printStackTrace();
151 }
152 throw e;
153 }
154 }
155
|
112 return "javascript";
113 case ScriptEngine.ENGINE:
114 return "Oracle Nashorn";
115 case ScriptEngine.ENGINE_VERSION:
116 return Version.version();
117 case ScriptEngine.LANGUAGE:
118 return "ECMAScript";
119 case ScriptEngine.LANGUAGE_VERSION:
120 return "ECMA - 262 Edition 5.1";
121 case "THREADING":
122 // The engine implementation is not thread-safe. Can't be
123 // used to execute scripts concurrently on multiple threads.
124 return null;
125 default:
126 return null;
127 }
128 }
129
130 @Override
131 public String getProgram(final String... statements) {
132 Objects.requireNonNull(statements);
133 final StringBuilder sb = new StringBuilder();
134
135 for (final String statement : statements) {
136 sb.append(Objects.requireNonNull(statement)).append(';');
137 }
138
139 return sb.toString();
140 }
141
142 // default options passed to Nashorn script engine
143 private static final String[] DEFAULT_OPTIONS = new String[] { "-doe" };
144
145 @Override
146 public ScriptEngine getScriptEngine() {
147 try {
148 return new NashornScriptEngine(this, DEFAULT_OPTIONS, getAppClassLoader(), null);
149 } catch (final RuntimeException e) {
150 if (Context.DEBUG) {
151 e.printStackTrace();
152 }
153 throw e;
154 }
155 }
156
|