public interface ScriptEngine
ScriptEngine
是基本接口,其方法必须在本规范的每个实现中都具有完全的功能。
Modifier and Type | Field and Description |
---|---|
static String |
ARGV
用于将位置参数数组传递给脚本的命名值的保留键。
|
static String |
ENGINE
作为
ScriptEngine 实现的名称的命名值的保留键。
|
static String |
ENGINE_VERSION
保留键指定值标识的版本
ScriptEngine 实施。
|
static String |
FILENAME
作为正在执行的文件的名称的命名值的保留键。
|
static String |
LANGUAGE
作为实现支持的脚本语言的全名的命名值的保留键。
|
static String |
LANGUAGE_VERSION
用于标识实现支持的脚本语言版本的命名值的保留键。
|
static String |
NAME
用于标识脚本语言的短名称的命名值的保留键。
|
Modifier and Type | Method and Description |
---|---|
Bindings |
createBindings()
返回未初始化的
Bindings 。
|
Object |
eval(Reader reader)
与
eval(String) 相同,只是脚本的来源以
Reader 形式提供
|
Object |
eval(Reader reader, Bindings n)
与
eval(String, Bindings) 相同,只是脚本的来源以
Reader 形式提供。
|
Object |
eval(Reader reader, ScriptContext context)
与
eval(String, ScriptContext) 相同,其中脚本的来源是从
Reader 读取的。
|
Object |
eval(String script)
执行指定的脚本。
|
Object |
eval(String script, Bindings n)
执行使用该脚本
Bindings 参数为
ENGINE_SCOPE
Bindings 的的
ScriptEngine 脚本执行期间。
|
Object |
eval(String script, ScriptContext context)
导致立即执行脚本,其脚本是作为第一个参数传递的String。
|
Object |
get(String key)
检索在此引擎状态下设置的值。
|
Bindings |
getBindings(int scope)
返回命名值的范围。
|
ScriptContext |
getContext()
返回默认
ScriptContext 的的
ScriptEngine 的Bindings,Reader和Writer被用于脚本执行时没有
ScriptContext 指定。
|
ScriptEngineFactory |
getFactory()
为这个
ScriptEngine 所属的课程返回一个
ScriptEngineFactory 。
|
void |
put(String key, Object value)
在ScriptEngine的状态下设置一个键/值对,可以创建一个Java语言绑定,以便在执行脚本时使用,或者以某种其他方式使用,具体取决于该键是否被保留。
|
void |
setBindings(Bindings bindings, int scope)
设置脚本使用的命名值的范围。
|
void |
setContext(ScriptContext context)
设置默认
ScriptContext 的的
ScriptEngine 的Bindings,Reader和Writer被用于脚本执行时没有
ScriptContext 指定。
|
static final String ARGV
static final String FILENAME
static final String ENGINE
ScriptEngine
实现的名称的命名值的保留键。
static final String ENGINE_VERSION
ScriptEngine
实施。
static final String NAME
ScriptEngineManager
来定位ScriptEngine
与在一个给定的名称getEngineByName
方法。
static final String LANGUAGE
static final String LANGUAGE_VERSION
Object eval(String script, ScriptContext context) throws ScriptException
script
- 由脚本引擎执行的脚本。
context
- A ScriptContext
在不同范围ScriptContext
公开属性集。
在本说明书中定义了示波器ScriptContext.GLOBAL_SCOPE
和ScriptContext.ENGINE_SCOPE
的含义。
ENGINE_SCOPE
Bindings
ScriptContext
包含脚本变量与此脚本执行期间要使用的应用程序对象的绑定。
ScriptException
- 脚本中是否发生错误。
ScriptEngines应该创建并抛出ScriptException
包装器,以检查基础脚本实现抛出的检查异常。
NullPointerException
- 如果任一参数为空。
Object eval(Reader reader, ScriptContext context) throws ScriptException
eval(String, ScriptContext)
相同,其中脚本的来源是从
Reader
读取的。
reader
- 由脚本引擎执行的脚本的源。
context
-
ScriptContext
传递给脚本引擎。
ScriptException
- 如果脚本中发生错误。
NullPointerException
- 如果任一参数为空。
Object eval(String script) throws ScriptException
ScriptContext
为ScriptEngine
。
script
- 要执行的脚本语言源。
ScriptException
- 如果脚本中发生错误。
NullPointerException
- 如果参数为null。
Object eval(Reader reader) throws ScriptException
eval(String)
相同,只是脚本的来源以
Reader
形式提供
reader
- 脚本的来源。
ScriptException
- 如果脚本中发生错误。
NullPointerException
- 如果参数为空。
Object eval(String script, Bindings n) throws ScriptException
Bindings
参数为ENGINE_SCOPE
Bindings
的的ScriptEngine
脚本执行期间。
该Reader
, Writer
和非ENGINE_SCOPE
Bindings
默认的ScriptContext
被使用。
ENGINE_SCOPE
Bindings
的ScriptEngine
没有改变,其映射不受脚本执行的影响。
script
- 脚本的来源。
n
-该
Bindings
属性用于脚本执行。
ScriptException
- 脚本中是否出现错误。
NullPointerException
- 如果任一参数为空。
Object eval(Reader reader, Bindings n) throws ScriptException
eval(String, Bindings)
相同,只是该脚本的来源以
Reader
形式提供。
reader
- 脚本的来源。
n
-
Bindings
的Bindings。
ScriptException
- 如果发生错误。
NullPointerException
- 如果任一参数为空。
void put(String key, Object value)
getBindings(ScriptContext.ENGINE_SCOPE).put
相同的效果。
key
- 要添加的命名值的名称
value
- 要添加的命名值的值。
NullPointerException
- 如果key为null。
IllegalArgumentException
- 如果键为空。
Object get(String key)
setValue
或状态的其他值ScriptEngine
,这取决于实现。
必须具有与getBindings(ScriptContext.ENGINE_SCOPE).get
相同的效果
key
- 要返回其值的键
NullPointerException
- 如果key为空。
IllegalArgumentException
- 如果键为空。
Bindings getBindings(int scope)
ScriptContext.GLOBAL_SCOPE
- 表示全局范围的一组命名值。 如果这ScriptEngine
通过创建ScriptEngineManager
,那么管理者将全球范围内绑定。 如果没有全局范围与此ScriptEngine
null
则可能是ScriptEngine
ScriptContext.ENGINE_SCOPE
-集表示此状态的指定值的ScriptEngine
。 这些值通常在使用相关键作为变量名称的脚本中可见。 ScriptContext
所述的ScriptEngine
。 Bindings
返回的情况下必须与那些由返回getBindings
的方法ScriptContext
打来电话为默认相应参数ScriptContext
所述的ScriptEngine
。
scope
- ScriptContext.ENGINE_SCOPE
或ScriptContext.GLOBAL_SCOPE
Bindings
要返回的Bindings
。
ScriptContext的ScriptContext
可能会定义其他范围。
如果ScriptContext
默认的ScriptEngine
定义了其他示波器,则可以将其中的任一个传递给相应的Bindings
。
Bindings
与指定的范围。
IllegalArgumentException
- 如果指定范围无效
void setBindings(Bindings bindings, int scope)
ScriptContext.ENGINE_SCOPE
-指定的Bindings
替换的引擎范围ScriptEngine
。 ScriptContext.GLOBAL_SCOPE
- 指定的Bindings
必须作为GLOBAL_SCOPE
可见。 ScriptContext
所述的ScriptEngine
。 setBindings
的方法ScriptContext
用的相应值scope
上的默认ScriptContext
所述的ScriptEngine
。
bindings
-该
Bindings
指定的范围。
scope
- 指定的范围。
无论是ScriptContext.ENGINE_SCOPE
, ScriptContext.GLOBAL_SCOPE
,或范围的其他任何有效的价值。
IllegalArgumentException
- 范围无效
NullPointerException
- 如果绑定为空,范围为
ScriptContext.ENGINE_SCOPE
Bindings createBindings()
Bindings
。
Bindings
可以用来替换这个
ScriptEngine
的状态。
ScriptContext getContext()
ScriptContext
的的
ScriptEngine
的Bindings,Reader和Writer被用于脚本执行时没有
ScriptContext
指定。
ScriptContext
的
ScriptEngine
。
void setContext(ScriptContext context)
ScriptContext
的的
ScriptEngine
的Bindings,Reader和Writer被用于脚本执行时没有
ScriptContext
指定。
context
- A
ScriptContext
将替换
ScriptContext
中的默认
ScriptEngine
。
NullPointerException
- 如果上下文为空。
ScriptEngineFactory getFactory()
ScriptEngineFactory
让全班这里面
ScriptEngine
所属。
ScriptEngineFactory