AbstractScriptEngine
public interface ScriptEngine
ScriptEngine
is the fundamental interface whose methods must be fully functional in every implementation of this specification. Modifier and Type | Field | Description |
---|---|---|
static final String |
ARGV |
Reserved key for a named value that passes an array of positional arguments to a script. |
static final String |
ENGINE |
Reserved key for a named value that is the name of the ScriptEngine implementation. |
static final String |
ENGINE_VERSION |
Reserved key for a named value that identifies the version of the ScriptEngine implementation. |
static final String |
FILENAME |
Reserved key for a named value that is the name of the file being executed. |
static final String |
LANGUAGE |
Reserved key for a named value that is the full name of Scripting Language supported by the implementation. |
static final String |
LANGUAGE_VERSION |
Reserved key for the named value that identifies the version of the scripting language supported by the implementation. |
static final String |
NAME |
Reserved key for a named value that identifies the short name of the scripting language. |
Modifier and Type | Method | Description |
---|---|---|
Bindings |
createBindings() |
Returns an uninitialized Bindings . |
Object |
eval |
Same as eval(String) except that the source of the script is provided as a Reader
|
Object |
eval |
Same as eval(String, Bindings) except that the source of the script is provided as a Reader . |
Object |
eval |
Same as eval(String, ScriptContext) where the source of the script is read from a Reader . |
Object |
eval |
Executes the specified script. |
Object |
eval |
Executes the script using the Bindings argument as the ENGINE_SCOPE Bindings of the ScriptEngine during the script execution. |
Object |
eval |
Causes the immediate execution of the script whose source is the String passed as the first argument. |
Object |
get |
Retrieves a value set in the state of this engine. |
Bindings |
getBindings |
Returns a scope of named values. |
ScriptContext |
getContext() |
Returns the default ScriptContext of the ScriptEngine whose Bindings, Reader and Writers are used for script executions when no ScriptContext is specified. |
ScriptEngineFactory |
getFactory() |
Returns a ScriptEngineFactory for the class to which this ScriptEngine belongs. |
void |
put |
Sets a key/value pair in the state of the ScriptEngine that may either create a Java Language Binding to be used in the execution of scripts or be used in some other way, depending on whether the key is reserved. |
void |
setBindings |
Sets a scope of named values to be used by scripts. |
void |
setContext |
Sets the default ScriptContext of the ScriptEngine whose Bindings, Reader and Writers are used for script executions when no ScriptContext is specified. |
static final String ARGV
static final String FILENAME
static final String ENGINE
ScriptEngine
implementation.static final String ENGINE_VERSION
ScriptEngine
implementation.static final String NAME
ScriptEngineManager
to locate a ScriptEngine
with a given name in the getEngineByName
method.static final String LANGUAGE
static final String LANGUAGE_VERSION
Object eval(String script, ScriptContext context) throws ScriptException
script
- The script to be executed by the script engine.context
- 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. ENGINE_SCOPE
Bindings
of the ScriptContext
contains the bindings of scripting variables to application objects to be used during this script execution.ScriptException
- if an error occurs in script. ScriptEngines should create and throw ScriptException
wrappers for checked Exceptions thrown by underlying scripting implementations.NullPointerException
- if either argument is null.Object eval(Reader reader, ScriptContext context) throws ScriptException
eval(String, ScriptContext)
where the source of the script is read from a Reader
.reader
- The source of the script to be executed by the script engine.context
- The ScriptContext
passed to the script engine.ScriptException
- if an error occurs in script. ScriptEngines should create and throw ScriptException
wrappers for checked Exceptions thrown by underlying scripting implementations.NullPointerException
- if either argument is null.Object eval(String script) throws ScriptException
ScriptContext
for the ScriptEngine
is used.script
- The script language source to be executed.ScriptException
- if an error occurs in script. ScriptEngines should create and throw ScriptException
wrappers for checked Exceptions thrown by underlying scripting implementations.NullPointerException
- if the argument is null.Object eval(Reader reader) throws ScriptException
eval(String)
except that the source of the script is provided as a Reader
reader
- The source of the script.ScriptException
- if an error occurs in script. ScriptEngines should create and throw ScriptException
wrappers for checked Exceptions thrown by underlying scripting implementations.NullPointerException
- if the argument is null.Object eval(String script, Bindings n) throws ScriptException
Bindings
argument as the ENGINE_SCOPE
Bindings
of the ScriptEngine
during the script execution. The Reader
, Writer
and non-ENGINE_SCOPE
Bindings
of the default ScriptContext
are used. The ENGINE_SCOPE
Bindings
of the ScriptEngine
is not changed, and its mappings are unaltered by the script execution.script
- The source for the script.n
- The Bindings
of attributes to be used for script execution.ScriptException
- if an error occurs in script. ScriptEngines should create and throw ScriptException
wrappers for checked Exceptions thrown by underlying scripting implementations.NullPointerException
- if either argument is null.Object eval(Reader reader, Bindings n) throws ScriptException
eval(String, Bindings)
except that the source of the script is provided as a Reader
.reader
- The source of the script.n
- The Bindings
of attributes.ScriptException
- if an error occurs in script. ScriptEngines should create and throw ScriptException
wrappers for checked Exceptions thrown by underlying scripting implementations.NullPointerException
- if either argument is null.void put(String key, Object value)
getBindings(ScriptContext.ENGINE_SCOPE).put
.key
- The name of named value to addvalue
- The value of named value to add.NullPointerException
- if key is null.IllegalArgumentException
- if key is empty.Object get(String key)
setValue
or some other value in the state of the ScriptEngine
, depending on the implementation. Must have the same effect as getBindings(ScriptContext.ENGINE_SCOPE).get
key
- The key whose value is to be returnedNullPointerException
- if key is null.IllegalArgumentException
- if key is empty.Bindings getBindings(int scope)
ScriptContext.GLOBAL_SCOPE
- The set of named values representing global scope. If this ScriptEngine
is created by a ScriptEngineManager
, then the manager sets global scope bindings. This may be null
if no global scope is associated with this ScriptEngine
ScriptContext.ENGINE_SCOPE
- The set of named values representing the state of this ScriptEngine
. The values are generally visible in scripts using the associated keys as variable names.ScriptContext
of the ScriptEngine
. Bindings
instances that are returned must be identical to those returned by the getBindings
method of ScriptContext
called with corresponding arguments on the default ScriptContext
of the ScriptEngine
.scope
- Either ScriptContext.ENGINE_SCOPE
or ScriptContext.GLOBAL_SCOPE
which specifies the Bindings
to return. Implementations of ScriptContext
may define additional scopes. If the default ScriptContext
of the ScriptEngine
defines additional scopes, any of them can be passed to get the corresponding Bindings
.Bindings
with the specified scope.IllegalArgumentException
- if specified scope is invalidvoid setBindings(Bindings bindings, int scope)
ScriptContext.ENGINE_SCOPE
- The specified Bindings
replaces the engine scope of the ScriptEngine
. ScriptContext.GLOBAL_SCOPE
- The specified Bindings
must be visible as the GLOBAL_SCOPE
. ScriptContext
of the ScriptEngine
. setBindings
method of ScriptContext
with the corresponding value of scope
on the default ScriptContext
of the ScriptEngine
.bindings
- The Bindings
for the specified scope.scope
- The specified scope. Either ScriptContext.ENGINE_SCOPE
, ScriptContext.GLOBAL_SCOPE
, or any other valid value of scope.IllegalArgumentException
- if the scope is invalidNullPointerException
- if the bindings is null and the scope is ScriptContext.ENGINE_SCOPE
Bindings createBindings()
Bindings
.Bindings
that can be used to replace the state of this ScriptEngine
.ScriptContext getContext()
ScriptContext
of the ScriptEngine
whose Bindings, Reader and Writers are used for script executions when no ScriptContext
is specified.ScriptContext
of the ScriptEngine
.void setContext(ScriptContext context)
ScriptContext
of the ScriptEngine
whose Bindings, Reader and Writers are used for script executions when no ScriptContext
is specified.context
- A ScriptContext
that will replace the default ScriptContext
in the ScriptEngine
.NullPointerException
- if context is null.ScriptEngineFactory getFactory()
ScriptEngineFactory
for the class to which this ScriptEngine
belongs.ScriptEngineFactory
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.scripting/javax/script/ScriptEngine.html