Class AbstractScriptEngine
- java.lang.Object
-
- javax.script.AbstractScriptEngine
- All Implemented Interfaces:
ScriptEngine
- Direct Known Subclasses:
NashornScriptEngine
public abstract class AbstractScriptEngine extends Object implements ScriptEngine
Provides a standard implementation for several of the variants of the eval
method.
eval(Reader)
eval(String)
eval(String, Bindings)
eval(Reader, Bindings)
are implemented using the abstract methods
eval(Reader,ScriptContext)
or eval(String, ScriptContext)
with a SimpleScriptContext
.
A SimpleScriptContext
is used as the default ScriptContext
of the AbstractScriptEngine
..
- Since:
- 1.6
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected ScriptContext | context | The default |
Fields declared in interface javax.script.ScriptEngine
ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
Constructor Summary
Constructor | Description |
---|---|
AbstractScriptEngine() | Creates a new instance of AbstractScriptEngine using a |
AbstractScriptEngine(Bindings n) | Creates a new instance using the specified |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
Object | eval(Reader reader) |
|
Object | eval(Reader reader,
Bindings bindings) |
|
Object | eval(String script) | Same as |
Object | eval(String script,
Bindings bindings) | Same as |
Object | get(String key) | Gets the value for the specified key in the |
Bindings | getBindings(int scope) | Returns the |
ScriptContext | getContext() | Returns the value of the protected |
protected ScriptContext | getScriptContext(Bindings nn) | Returns a |
void | put(String key,
Object value) | Sets the specified value with the specified key in the |
void | setBindings(Bindings bindings,
int scope) | Sets the |
void | setContext(ScriptContext ctxt) | Sets the value of the protected |
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javax.script.ScriptEngine
createBindings, eval, eval, getFactory
Field Detail
context
protected ScriptContext context
The default ScriptContext
of this AbstractScriptEngine
.
Constructor Detail
AbstractScriptEngine
public AbstractScriptEngine()
Creates a new instance of AbstractScriptEngine using a SimpleScriptContext
as its default ScriptContext
.
AbstractScriptEngine
public AbstractScriptEngine(Bindings n)
Creates a new instance using the specified Bindings
as the ENGINE_SCOPE
Bindings
in the protected context
field.
- Parameters:
-
n
- The specifiedBindings
. - Throws:
-
NullPointerException
- if n is null.
Method Detail
setContext
public void setContext(ScriptContext ctxt)
Sets the value of the protected context
field to the specified ScriptContext
.
- Specified by:
-
setContext
in interfaceScriptEngine
- Parameters:
-
ctxt
- The specifiedScriptContext
. - Throws:
-
NullPointerException
- if ctxt is null.
getContext
public ScriptContext getContext()
Returns the value of the protected context
field.
- Specified by:
-
getContext
in interfaceScriptEngine
- Returns:
- The value of the protected
context
field.
getBindings
public Bindings getBindings(int scope)
Returns the Bindings
with the specified scope value in the protected context
field.
- Specified by:
-
getBindings
in interfaceScriptEngine
- Parameters:
-
scope
- The specified scope - Returns:
- The corresponding
Bindings
. - Throws:
-
IllegalArgumentException
- if the value of scope is invalid for the type the protectedcontext
field.
setBindings
public void setBindings(Bindings bindings, int scope)
Sets the Bindings
with the corresponding scope value in the context
field.
- Specified by:
-
setBindings
in interfaceScriptEngine
- Parameters:
-
bindings
- The specifiedBindings
. -
scope
- The specified scope. - Throws:
-
IllegalArgumentException
- if the value of scope is invalid for the type thecontext
field. -
NullPointerException
- if the bindings is null and the scope isScriptContext.ENGINE_SCOPE
put
public void put(String key, Object value)
Sets the specified value with the specified key in the ENGINE_SCOPE
Bindings
of the protected context
field.
- Specified by:
-
put
in interfaceScriptEngine
- Parameters:
-
key
- The specified key. -
value
- The specified value. - Throws:
-
NullPointerException
- if key is null. -
IllegalArgumentException
- if key is empty.
get
public Object get(String key)
Gets the value for the specified key in the ENGINE_SCOPE
of the protected context
field.
- Specified by:
-
get
in interfaceScriptEngine
- Parameters:
-
key
- The key whose value is to be returned - Returns:
- The value for the specified key.
- Throws:
-
NullPointerException
- if key is null. -
IllegalArgumentException
- if key is empty.
eval
public Object eval(Reader reader, Bindings bindings) throws ScriptException
eval(Reader, Bindings)
calls the abstract eval(Reader, ScriptContext)
method, passing it a ScriptContext
whose Reader, Writers and Bindings for scopes other that ENGINE_SCOPE
are identical to those members of the protected context
field. The specified Bindings
is used instead of the ENGINE_SCOPE
Bindings
of the context
field.
- Specified by:
-
eval
in interfaceScriptEngine
- Parameters:
-
reader
- AReader
containing the source of the script. -
bindings
- ABindings
to use for theENGINE_SCOPE
while the script executes. - Returns:
- The return value from
eval(Reader, ScriptContext)
- Throws:
-
ScriptException
- if an error occurs in script. -
NullPointerException
- if any of the parameters is null.
eval
public Object eval(String script, Bindings bindings) throws ScriptException
Same as eval(Reader, Bindings)
except that the abstract eval(String, ScriptContext)
is used.
- Specified by:
-
eval
in interfaceScriptEngine
- Parameters:
-
script
- AString
containing the source of the script. -
bindings
- ABindings
to use as theENGINE_SCOPE
while the script executes. - Returns:
- The return value from
eval(String, ScriptContext)
- Throws:
-
ScriptException
- if an error occurs in script. -
NullPointerException
- if any of the parameters is null.
eval
public Object eval(Reader reader) throws ScriptException
eval(Reader)
calls the abstract eval(Reader, ScriptContext)
passing the value of the context
field.
- Specified by:
-
eval
in interfaceScriptEngine
- Parameters:
-
reader
- AReader
containing the source of the script. - Returns:
- The return value from
eval(Reader, ScriptContext)
- Throws:
-
ScriptException
- if an error occurs in script. -
NullPointerException
- if any of the parameters is null.
eval
public Object eval(String script) throws ScriptException
Same as eval(Reader)
except that the abstract eval(String, ScriptContext)
is used.
- Specified by:
-
eval
in interfaceScriptEngine
- Parameters:
-
script
- AString
containing the source of the script. - Returns:
- The return value from
eval(String, ScriptContext)
- Throws:
-
ScriptException
- if an error occurs in script. -
NullPointerException
- if any of the parameters is null.
getScriptContext
protected ScriptContext getScriptContext(Bindings nn)
Returns a SimpleScriptContext
. The SimpleScriptContext
:
- Uses the specified
Bindings
for itsENGINE_SCOPE
- Uses the
Bindings
returned by the abstractgetGlobalScope
method as itsGLOBAL_SCOPE
- Uses the Reader and Writer in the default
ScriptContext
of thisScriptEngine
A
SimpleScriptContext
returned by this method is used to implement eval methods using the abstract eval(Reader,Bindings)
and eval(String,Bindings)
versions. - Parameters:
-
nn
- Bindings to use for theENGINE_SCOPE
- Returns:
- The
SimpleScriptContext