- java.lang.Object
-
- javax.script.AbstractScriptEngine
-
- All Implemented Interfaces:
-
ScriptEngine
- 已知直接子类:
-
NashornScriptEngine
public abstract class AbstractScriptEngine extends Object implements ScriptEngine
为eval方法的几种变体提供标准实现。
eval(Reader)eval(String)eval(String, Bindings)eval(Reader, Bindings)
使用抽象方法实现
eval(Reader,ScriptContext)或eval(String, ScriptContext)
用SimpleScriptContext。
一个SimpleScriptContext用作默认ScriptContext的的AbstractScriptEngine..- 从以下版本开始:
- 1.6
-
-
Field Summary
Fields Modifier and Type Field 描述 protected ScriptContextcontext该ScriptContext的默认ScriptContextAbstractScriptEngine。-
Fields inherited from interface javax.script.ScriptEngine
ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
-
-
构造方法摘要
构造方法 Constructor 描述 AbstractScriptEngine()使用SimpleScriptContext作为其默认的ScriptContext创建一个新的AbstractScriptEngine实例。AbstractScriptEngine(Bindings n)使用指定的一个新的实例Bindings为ENGINE_SCOPEBindings在保护context领域。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Objecteval(Reader reader)eval(Reader)调用摘要eval(Reader, ScriptContext)传递context字段的值。Objecteval(Reader reader, Bindings bindings)eval(Reader, Bindings)调用抽象的eval(Reader, ScriptContext)方法,传递一个ScriptContext,其中ScriptContext的读者,作者和绑定,其他ENGINE_SCOPE与被保护的context字段的成员相同。Objecteval(String script)与eval(Reader)相同,但使用摘要eval(String, ScriptContext)。Objecteval(String script, Bindings bindings)与eval(Reader, Bindings)相同,但使用摘要eval(String, ScriptContext)。Objectget(String key)获取受保护的context字段的ENGINE_SCOPE中指定键的值。BindingsgetBindings(int scope)返回Bindings与受保护的规定范围值context场。ScriptContextgetContext()返回受保护的context字段的值。protected ScriptContextgetScriptContext(Bindings nn)返回SimpleScriptContext。voidput(String key, Object value)在受保护的context字段的ENGINE_SCOPEBindings,使用指定的键设置指定的值。voidsetBindings(Bindings bindings, int scope)设置Bindings与在相应的范围值context字段。voidsetContext(ScriptContext ctxt)将受保护的context字段的值设置为指定的ScriptContext。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.script.ScriptEngine
createBindings, eval, eval, getFactory
-
-
-
-
字段详细信息
-
context
protected ScriptContext context
该ScriptContext的默认ScriptContextAbstractScriptEngine。
-
-
构造方法详细信息
-
AbstractScriptEngine
public AbstractScriptEngine()
使用SimpleScriptContext作为其默认的ScriptContext创建一个新的AbstractScriptEngine实例。
-
AbstractScriptEngine
public AbstractScriptEngine(Bindings n)
使用指定的一个新的实例Bindings为ENGINE_SCOPEBindings在保护context领域。- 参数
-
n- 指定的Bindings。 - 异常
-
NullPointerException- 如果n为空。
-
-
方法详细信息
-
setContext
public void setContext(ScriptContext ctxt)
将受保护的context字段的值设置为指定的ScriptContext。- Specified by:
-
setContext在接口ScriptEngine - 参数
-
ctxt- 指定的ScriptContext。 - 异常
-
NullPointerException- 如果ctxt为空。
-
getContext
public ScriptContext getContext()
返回受保护的context字段的值。- Specified by:
-
getContext在接口ScriptEngine - 结果
-
受保护的值
context字段。
-
getBindings
public Bindings getBindings(int scope)
返回Bindings与受保护的规定范围值context场。- Specified by:
-
getBindings接口ScriptEngine - 参数
-
scope- 指定范围 - 结果
-
相应的
Bindings。 - 异常
-
IllegalArgumentException- 如果范围的值对于受保护的类型context字段无效。
-
setBindings
public void setBindings(Bindings bindings, int scope)
设置Bindings与在相应的范围值context字段。- Specified by:
-
setBindings在接口ScriptEngine - 参数
-
bindings- 指定的Bindings。 -
scope- 指定的范围。 - 异常
-
IllegalArgumentException- 如果范围的值对于类型为context字段无效。 -
NullPointerException- 如果绑定为空,范围为ScriptContext.ENGINE_SCOPE
-
put
public void put(String key, Object value)
在受保护的context字段的ENGINE_SCOPEBindings,使用指定的键设置指定的值。- Specified by:
-
put在接口ScriptEngine - 参数
-
key- 指定的键。 -
value- 指定的值。 - 异常
-
NullPointerException- 如果键为空。 -
IllegalArgumentException- 如果键为空。
-
get
public Object get(String key)
获取受保护的context字段的ENGINE_SCOPE中指定的键的值。- Specified by:
-
get在接口ScriptEngine - 参数
-
key- 要返回其值的键 - 结果
- 指定键的值。
- 异常
-
NullPointerException- 如果键为空。 -
IllegalArgumentException- 如果键为空。
-
eval
public Object eval(Reader reader, Bindings bindings) throws ScriptException
eval(Reader, Bindings)调用抽象eval(Reader, ScriptContext)方法,传递一个ScriptContext其阅读器,作家和绑定用于其他范围的是ENGINE_SCOPE是相同的受保护的那些成员context字段。 指定Bindings被用来代替ENGINE_SCOPEBindings所述的context字段。- Specified by:
-
eval在接口ScriptEngine - 参数
-
reader- 包含脚本源的Reader。 -
bindings-一个Bindings要用于ENGINE_SCOPE而执行脚本。 - 结果
-
返回值为
eval(Reader, ScriptContext) - 异常
-
ScriptException- 脚本中是否发生错误。 -
NullPointerException- 如果任何参数为空。
-
eval
public Object eval(String script, Bindings bindings) throws ScriptException
与eval(Reader, Bindings)相同,但使用摘要eval(String, ScriptContext)。- Specified by:
-
eval在接口ScriptEngine - 参数
-
script- 包含脚本源的String。 -
bindings- ABindings在脚本执行时用作ENGINE_SCOPE。 - 结果
-
返回值为
eval(String, ScriptContext) - 异常
-
ScriptException- 脚本中是否发生错误。 -
NullPointerException- 如果任何参数为空。
-
eval
public Object eval(Reader reader) throws ScriptException
eval(Reader)调用摘要eval(Reader, ScriptContext)传递值的context字段。- Specified by:
-
eval在接口ScriptEngine - 参数
-
reader- 包含脚本源的Reader。 - 结果
-
返回值为
eval(Reader, ScriptContext) - 异常
-
ScriptException- 如果脚本中发生错误。 -
NullPointerException- 如果任何参数为空。
-
eval
public Object eval(String script) throws ScriptException
与eval(Reader)相同,除了使用抽象的eval(String, ScriptContext)。- Specified by:
-
eval在接口ScriptEngine - 参数
-
script- AString包含脚本的源。 - 结果
-
来自
eval(String, ScriptContext)的返回值 - 异常
-
ScriptException- 如果脚本中发生错误。 -
NullPointerException- 如果任何参数为空。
-
getScriptContext
protected ScriptContext getScriptContext(Bindings nn)
返回一个SimpleScriptContext。SimpleScriptContext:
- 使用指定的
Bindings作为其ENGINE_SCOPE - 使用摘要
Bindings返回的getGlobalScope作为其GLOBAL_SCOPE - 使用默认的Reader和Writer
ScriptContext如此ScriptEngine
通过此方法返回的ASimpleScriptContext用于实现使用抽象的eval(Reader,Bindings)和eval(String,Bindings)版本的eval方法。- 参数
-
nn- 用于ENGINE_SCOPE绑定 - 结果
-
SimpleScriptContext
- 使用指定的
-
-