-
public interface Invocable
The optional interface implemented by ScriptEngines whose methods allow the invocation of procedures in scripts that have previously been executed.- Since:
- 1.6
-
-
Method Summary
Methods Modifier and Type Method and Description <T> T
getInterface(Class<T> clasz)
Returns an implementation of an interface using functions compiled in the interpreter.<T> T
getInterface(Object thiz, Class<T> clasz)
Returns an implementation of an interface using member functions of a scripting object compiled in the interpreter.Object
invokeFunction(String name, Object... args)
Used to call top-level procedures and functions defined in scripts.Object
invokeMethod(Object thiz, String name, Object... args)
Calls a method on a script object compiled during a previous script execution, which is retained in the state of theScriptEngine
.
-
-
-
Method Detail
-
invokeMethod
Object invokeMethod(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException
Calls a method on a script object compiled during a previous script execution, which is retained in the state of theScriptEngine
.- Parameters:
name
- The name of the procedure to be called.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.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 occurrs during invocation of the method.NoSuchMethodException
- if method with given name or matching argument types cannot be found.NullPointerException
- if the method name is null.IllegalArgumentException
- if the specified thiz is null or the specified Object is does not represent a scripting object.
-
invokeFunction
Object invokeFunction(String name, Object... args) throws ScriptException, NoSuchMethodException
Used to call top-level procedures and functions defined in scripts.- Parameters:
args
- Arguments to pass to the procedure or function- Returns:
- The value returned by the procedure or function
- Throws:
ScriptException
- if an error occurrs during invocation of the method.NoSuchMethodException
- if method with given name or matching argument types cannot be found.NullPointerException
- if method name is null.
-
getInterface
<T> T getInterface(Class<T> clasz)
Returns an implementation of an interface using functions compiled in the interpreter. The methods of the interface may be implemented using theinvokeFunction
method.- Parameters:
clasz
- TheClass
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. - Throws:
IllegalArgumentException
- if the specifiedClass
object is null or is not an interface.
-
getInterface
<T> T getInterface(Object thiz, Class<T> clasz)
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 theinvokeMethod
method.- Parameters:
thiz
- The scripting object whose member functions are used to implement the methods of the interface.clasz
- TheClass
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. - Throws:
IllegalArgumentException
- if the specifiedClass
object is null or is not an interface, or if the specified Object is null or does not represent a scripting object.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/script/invocable.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.