- 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 ScriptContext
context
该ScriptContext
的默认ScriptContext
AbstractScriptEngine
。-
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_SCOPE
Bindings
在保护context
领域。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Object
eval(Reader reader)
eval(Reader)
调用摘要eval(Reader, ScriptContext)
传递context
字段的值。Object
eval(Reader reader, Bindings bindings)
eval(Reader, Bindings)
调用抽象的eval(Reader, ScriptContext)
方法,传递一个ScriptContext
,其中ScriptContext
的读者,作者和绑定,其他ENGINE_SCOPE
与被保护的context
字段的成员相同。Object
eval(String script)
与eval(Reader)
相同,但使用摘要eval(String, ScriptContext)
。Object
eval(String script, Bindings bindings)
与eval(Reader, Bindings)
相同,但使用摘要eval(String, ScriptContext)
。Object
get(String key)
获取受保护的context
字段的ENGINE_SCOPE
中指定键的值。Bindings
getBindings(int scope)
返回Bindings
与受保护的规定范围值context
场。ScriptContext
getContext()
返回受保护的context
字段的值。protected ScriptContext
getScriptContext(Bindings nn)
返回SimpleScriptContext
。void
put(String key, Object value)
在受保护的context
字段的ENGINE_SCOPE
Bindings
,使用指定的键设置指定的值。void
setBindings(Bindings bindings, int scope)
设置Bindings
与在相应的范围值context
字段。void
setContext(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
的默认ScriptContext
AbstractScriptEngine
。
-
-
构造方法详细信息
-
AbstractScriptEngine
public AbstractScriptEngine()
使用SimpleScriptContext
作为其默认的ScriptContext
创建一个新的AbstractScriptEngine实例。
-
AbstractScriptEngine
public AbstractScriptEngine(Bindings n)
使用指定的一个新的实例Bindings
为ENGINE_SCOPE
Bindings
在保护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_SCOPE
Bindings
,使用指定的键设置指定的值。- 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_SCOPE
Bindings
所述的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
- 使用指定的
-
-