Class NashornScriptEngine

    • Field Detail

      • NASHORN_GLOBAL

        public static final String NASHORN_GLOBAL
        Key used to associate Nashorn global object mirror with arbitrary Bindings instance.
        See Also:
        Constant Field Values
    • Method Detail

      • eval

        public Object eval​(Reader reader,
                           ScriptContext ctxt)
                    throws ScriptException
        Description copied from interface: ScriptEngine
        Same as eval(String, ScriptContext) where the source of the script is read from a Reader.
        Specified by:
        eval in interface ScriptEngine
        Parameters:
        reader - The source of the script to be executed by the script engine.
        ctxt - The ScriptContext passed to the script engine.
        Returns:
        The value returned from the execution of the script.
        Throws:
        ScriptException - if an error occurs in script. ScriptEngines should create and throw ScriptException wrappers for checked Exceptions thrown by underlying scripting implementations.
      • eval

        public Object eval​(String script,
                           ScriptContext ctxt)
                    throws ScriptException
        Description copied from interface: ScriptEngine
        Causes the immediate execution of the script whose source is the String passed as the first argument. The script may be reparsed or recompiled before execution. State left in the engine from previous executions, including variable values and compiled procedures may be visible during this execution.
        Specified by:
        eval in interface ScriptEngine
        Parameters:
        script - The script to be executed by the script engine.
        ctxt - A ScriptContext exposing sets of attributes in different scopes. The meanings of the scopes ScriptContext.GLOBAL_SCOPE, and ScriptContext.ENGINE_SCOPE are defined in the specification.

        The ENGINE_SCOPE Bindings of the ScriptContext contains the bindings of scripting variables to application objects to be used during this script execution.
        Returns:
        The value returned from the execution of the script.
        Throws:
        ScriptException - if an error occurs in script. ScriptEngines should create and throw ScriptException wrappers for checked Exceptions thrown by underlying scripting implementations.
      • getFactory

        public ScriptEngineFactory getFactory​()
        Description copied from interface: ScriptEngine
        Returns a ScriptEngineFactory for the class to which this ScriptEngine belongs.
        Specified by:
        getFactory in interface ScriptEngine
        Returns:
        The ScriptEngineFactory
      • createBindings

        public Bindings createBindings​()
        Description copied from interface: ScriptEngine
        Returns an uninitialized Bindings.
        Specified by:
        createBindings in interface ScriptEngine
        Returns:
        A Bindings that can be used to replace the state of this ScriptEngine.
      • compile

        public CompiledScript compile​(Reader reader)
                               throws ScriptException
        Description copied from interface: Compilable
        Compiles the script (source read from Reader) for later execution. Functionality is identical to compile(String) other than the way in which the source is passed.
        Specified by:
        compile in interface Compilable
        Parameters:
        reader - The reader from which the script source is obtained.
        Returns:
        An instance of a subclass of CompiledScript to be executed later using one of its eval methods of CompiledScript.
        Throws:
        ScriptException - if compilation fails.
      • compile

        public CompiledScript compile​(String str)
                               throws ScriptException
        Description copied from interface: Compilable
        Compiles the script (source represented as a String) for later execution.
        Specified by:
        compile in interface Compilable
        Parameters:
        str - The source of the script, represented as a String.
        Returns:
        An instance of a subclass of CompiledScript to be executed later using one of the eval methods of CompiledScript.
        Throws:
        ScriptException - if compilation fails.
      • invokeFunction

        public Object invokeFunction​(String name,
                                     Object... args)
                              throws ScriptException,
                                     NoSuchMethodException
        Description copied from interface: Invocable
        Used to call top-level procedures and functions defined in scripts.
        Specified by:
        invokeFunction in interface Invocable
        Parameters:
        name - of the procedure or function to call
        args - Arguments to pass to the procedure or function
        Returns:
        The value returned by the procedure or function
        Throws:
        ScriptException - if an error occurs during invocation of the method.
        NoSuchMethodException - if method with given name or matching argument types cannot be found.
      • invokeMethod

        public Object invokeMethod​(Object thiz,
                                   String name,
                                   Object... args)
                            throws ScriptException,
                                   NoSuchMethodException
        Description copied from interface: Invocable
        Calls a method on a script object compiled during a previous script execution, which is retained in the state of the ScriptEngine.
        Specified by:
        invokeMethod in interface Invocable
        Parameters:
        thiz - If the procedure is a member of a class defined in the script and thiz is an instance of that class returned by a previous execution or invocation, the named method is called through that instance.
        name - The name of the procedure to be called.
        args - Arguments to pass to the procedure. The rules for converting the arguments to scripting variables are implementation-specific.
        Returns:
        The value returned by the procedure. The rules for converting the scripting variable returned by the script method to a Java Object are implementation-specific.
        Throws:
        ScriptException - if an error occurs during invocation of the method.
        NoSuchMethodException - if method with given name or matching argument types cannot be found.
      • getInterface

        public <T> T getInterface​(Class<T> clazz)
        Description copied from interface: Invocable
        Returns an implementation of an interface using functions compiled in the interpreter. The methods of the interface may be implemented using the invokeFunction method.
        Specified by:
        getInterface in interface Invocable
        Type Parameters:
        T - the type of the interface to return
        Parameters:
        clazz - The Class object of the interface to return.
        Returns:
        An instance of requested interface - null if the requested interface is unavailable, i. e. if compiled functions in the ScriptEngine cannot be found matching the ones in the requested interface.
      • getInterface

        public <T> T getInterface​(Object thiz,
                                  Class<T> clazz)
        Description copied from interface: Invocable
        Returns an implementation of an interface using member functions of a scripting object compiled in the interpreter. The methods of the interface may be implemented using the invokeMethod method.
        Specified by:
        getInterface in interface Invocable
        Type Parameters:
        T - the type of the interface to return
        Parameters:
        thiz - The scripting object whose member functions are used to implement the methods of the interface.
        clazz - The Class object of the interface to return.
        Returns:
        An instance of requested interface - null if the requested interface is unavailable, i. e. if compiled methods in the ScriptEngine cannot be found matching the ones in the requested interface.