< prev index next >

src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java

Print this page




 161      * @return newly created script engine.
 162      * @throws SecurityException
 163      *         if the security manager's {@code checkPermission}
 164      *         denies {@code RuntimePermission("nashorn.setConfig")}
 165      */
 166     public ScriptEngine getScriptEngine(final ClassLoader appLoader) {
 167         return newEngine(DEFAULT_OPTIONS, appLoader, null);
 168     }
 169 
 170     /**
 171      * Create a new Script engine initialized by given class filter.
 172      *
 173      * @param classFilter class filter to use.
 174      * @return newly created script engine.
 175      * @throws NullPointerException if {@code classFilter} is {@code null}
 176      * @throws SecurityException
 177      *         if the security manager's {@code checkPermission}
 178      *         denies {@code RuntimePermission("nashorn.setConfig")}
 179      */
 180     public ScriptEngine getScriptEngine(final ClassFilter classFilter) {
 181         Objects.requireNonNull(classFilter);
 182         return newEngine(DEFAULT_OPTIONS, getAppClassLoader(), classFilter);
 183     }
 184 
 185     /**
 186      * Create a new Script engine initialized by given arguments.
 187      *
 188      * @param args arguments array passed to script engine.
 189      * @return newly created script engine.
 190      * @throws NullPointerException if {@code args} is {@code null}
 191      * @throws SecurityException
 192      *         if the security manager's {@code checkPermission}
 193      *         denies {@code RuntimePermission("nashorn.setConfig")}
 194      */
 195     public ScriptEngine getScriptEngine(final String... args) {
 196         Objects.requireNonNull(args);
 197         return newEngine(args, getAppClassLoader(), null);
 198     }
 199 
 200     /**
 201      * Create a new Script engine initialized by given arguments.
 202      *
 203      * @param args arguments array passed to script engine.
 204      * @param appLoader class loader to be used as script "app" class loader.
 205      * @return newly created script engine.
 206      * @throws NullPointerException if {@code args} is {@code null}
 207      * @throws SecurityException
 208      *         if the security manager's {@code checkPermission}
 209      *         denies {@code RuntimePermission("nashorn.setConfig")}
 210      */
 211     public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader) {
 212         Objects.requireNonNull(args);
 213         return newEngine(args, appLoader, null);
 214     }
 215 
 216     /**
 217      * Create a new Script engine initialized by given arguments.
 218      *
 219      * @param args arguments array passed to script engine.
 220      * @param appLoader class loader to be used as script "app" class loader.
 221      * @param classFilter class filter to use.
 222      * @return newly created script engine.
 223      * @throws NullPointerException if {@code args} or {@code classFilter} is {@code null}
 224      * @throws SecurityException
 225      *         if the security manager's {@code checkPermission}
 226      *         denies {@code RuntimePermission("nashorn.setConfig")}
 227      */
 228     public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
 229         Objects.requireNonNull(args);
 230         Objects.requireNonNull(classFilter);
 231         return newEngine(args, appLoader, classFilter);
 232     }
 233 
 234     private ScriptEngine newEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
 235         checkConfigPermission();
 236         try {
 237             return new NashornScriptEngine(this, args, appLoader, classFilter);
 238         } catch (final RuntimeException e) {
 239             if (Context.DEBUG) {
 240                 e.printStackTrace();
 241             }
 242             throw e;
 243         }
 244     }
 245 
 246     // -- Internals only below this point
 247 
 248     private static void checkConfigPermission() {
 249         final SecurityManager sm = System.getSecurityManager();
 250         if (sm != null) {
 251             sm.checkPermission(new RuntimePermission(Context.NASHORN_SET_CONFIG));




 161      * @return newly created script engine.
 162      * @throws SecurityException
 163      *         if the security manager's {@code checkPermission}
 164      *         denies {@code RuntimePermission("nashorn.setConfig")}
 165      */
 166     public ScriptEngine getScriptEngine(final ClassLoader appLoader) {
 167         return newEngine(DEFAULT_OPTIONS, appLoader, null);
 168     }
 169 
 170     /**
 171      * Create a new Script engine initialized by given class filter.
 172      *
 173      * @param classFilter class filter to use.
 174      * @return newly created script engine.
 175      * @throws NullPointerException if {@code classFilter} is {@code null}
 176      * @throws SecurityException
 177      *         if the security manager's {@code checkPermission}
 178      *         denies {@code RuntimePermission("nashorn.setConfig")}
 179      */
 180     public ScriptEngine getScriptEngine(final ClassFilter classFilter) {
 181         return newEngine(DEFAULT_OPTIONS, getAppClassLoader(), Objects.requireNonNull(classFilter));

 182     }
 183 
 184     /**
 185      * Create a new Script engine initialized by given arguments.
 186      *
 187      * @param args arguments array passed to script engine.
 188      * @return newly created script engine.
 189      * @throws NullPointerException if {@code args} is {@code null}
 190      * @throws SecurityException
 191      *         if the security manager's {@code checkPermission}
 192      *         denies {@code RuntimePermission("nashorn.setConfig")}
 193      */
 194     public ScriptEngine getScriptEngine(final String... args) {
 195         return newEngine(Objects.requireNonNull(args), getAppClassLoader(), null);

 196     }
 197 
 198     /**
 199      * Create a new Script engine initialized by given arguments.
 200      *
 201      * @param args arguments array passed to script engine.
 202      * @param appLoader class loader to be used as script "app" class loader.
 203      * @return newly created script engine.
 204      * @throws NullPointerException if {@code args} is {@code null}
 205      * @throws SecurityException
 206      *         if the security manager's {@code checkPermission}
 207      *         denies {@code RuntimePermission("nashorn.setConfig")}
 208      */
 209     public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader) {
 210         return newEngine(Objects.requireNonNull(args), appLoader, null);

 211     }
 212 
 213     /**
 214      * Create a new Script engine initialized by given arguments.
 215      *
 216      * @param args arguments array passed to script engine.
 217      * @param appLoader class loader to be used as script "app" class loader.
 218      * @param classFilter class filter to use.
 219      * @return newly created script engine.
 220      * @throws NullPointerException if {@code args} or {@code classFilter} is {@code null}
 221      * @throws SecurityException
 222      *         if the security manager's {@code checkPermission}
 223      *         denies {@code RuntimePermission("nashorn.setConfig")}
 224      */
 225     public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
 226         return newEngine(Objects.requireNonNull(args), appLoader, Objects.requireNonNull(classFilter));


 227     }
 228 
 229     private ScriptEngine newEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
 230         checkConfigPermission();
 231         try {
 232             return new NashornScriptEngine(this, args, appLoader, classFilter);
 233         } catch (final RuntimeException e) {
 234             if (Context.DEBUG) {
 235                 e.printStackTrace();
 236             }
 237             throw e;
 238         }
 239     }
 240 
 241     // -- Internals only below this point
 242 
 243     private static void checkConfigPermission() {
 244         final SecurityManager sm = System.getSecurityManager();
 245         if (sm != null) {
 246             sm.checkPermission(new RuntimePermission(Context.NASHORN_SET_CONFIG));


< prev index next >