-
- 所有已知实现类:
-
SimpleScriptContext
public interface ScriptContext
该接口的实现类用于将脚本引擎与对象(如作用域绑定)连接在托管应用程序中。 每个范围是一组命名属性,其值可以使用ScriptContext
方法进行设置和检索。 ScriptContexts还暴露了ScriptEngines可以用于输入和输出的读者和作者。- 从以下版本开始:
- 1.6
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
ENGINE_SCOPE
EngineScope属性在单个ScriptEngine
的生存期内可见,并为每个引擎维护一组属性。static int
GLOBAL_SCOPE
由相同ScriptEngineFactory创建的所有引擎都可以看到GlobalScope属性。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 Object
getAttribute(String name)
在搜索顺序中最早出现的范围内检索具有给定名称的属性值。Object
getAttribute(String name, int scope)
获取给定范围内的属性值。int
getAttributesScope(String name)
获取定义属性的最低范围。Bindings
getBindings(int scope)
获取Bindings
,在这个给定的范围相关ScriptContext
。Writer
getErrorWriter()
返回用于显示错误输出的Writer
。Reader
getReader()
返回一个Reader
以供脚本使用以读取输入。List<Integer>
getScopes()
返回不可变的List
的ScriptContext中范围的所有有效值。Writer
getWriter()
返回显示输出时要使用的脚本的Writer
。Object
removeAttribute(String name, int scope)
删除给定范围内的属性。void
setAttribute(String name, Object value, int scope)
设置给定范围内的属性值。void
setBindings(Bindings bindings, int scope)
将Bindings
实例与此ScriptContext
的特定范围相关ScriptContext
。void
setErrorWriter(Writer writer)
设置Writer
用于显示错误输出。void
setReader(Reader reader)
设置Reader
脚本以读取输入。void
setWriter(Writer writer)
设置显示输出时要使用的脚本的Writer
。
-
-
-
字段详细信息
-
ENGINE_SCOPE
static final int ENGINE_SCOPE
EngineScope属性在单个ScriptEngine
的生存期内可见,并为每个引擎维护一组属性。- 另请参见:
- Constant Field Values
-
GLOBAL_SCOPE
static final int GLOBAL_SCOPE
由相同ScriptEngineFactory创建的所有引擎都可以看到GlobalScope属性。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
setBindings
void setBindings(Bindings bindings, int scope)
将Bindings
实例与此ScriptContext
的特定范围相关ScriptContext
。 调用该getAttribute
种setAttribute
方法必须映射到get
种put
的方法Bindings
指定的范围。- 参数
-
bindings
- 与给定范围关联的Bindings
-
scope
- 范围 - 异常
-
IllegalArgumentException
- 如果没有为此类型的ScriptContexts中的指定范围值定义Bindings
。 -
NullPointerException
- 如果范围值为ENGINE_SCOPE
,指定的Bindings
为空。
-
getBindings
Bindings getBindings(int scope)
获取Bindings
与此ScriptContext
给定范围相关联。- 参数
-
scope
- 范围 - 结果
-
相关联的
Bindings
。 如果尚未设置,则返回null
。 - 异常
-
IllegalArgumentException
-如果没有Bindings
是在指定的范围值定义ScriptContext
这种类型。
-
setAttribute
void setAttribute(String name, Object value, int scope)
设置给定范围内的属性值。 如果范围是GLOBAL_SCOPE
并且没有为GLOBAL_SCOPE
设置绑定,则setAttribute调用是无操作的。- 参数
-
name
- 要设置的属性的名称 -
value
- 属性的值 -
scope
- 设置属性的范围 - 异常
-
IllegalArgumentException
- 如果名称为空或范围无效。 -
NullPointerException
- 如果名称为空。
-
getAttribute
Object getAttribute(String name, int scope)
获取给定范围内的属性值。- 参数
-
name
- 要检索的属性的名称。 -
scope
- 检索属性的范围。 - 结果
-
属性的值。
返回
null
是给定范围内不存在的名称。 - 异常
-
IllegalArgumentException
- 如果名称为空或范围的值无效。 -
NullPointerException
- 如果名称为空。
-
removeAttribute
Object removeAttribute(String name, int scope)
删除给定范围内的属性。- 参数
-
name
- 要删除的属性的名称 -
scope
- 删除属性的范围 - 结果
- 删除的值。
- 异常
-
IllegalArgumentException
- 如果名称为空或范围无效。 -
NullPointerException
- 如果名称为空。
-
getAttribute
Object getAttribute(String name)
在搜索顺序中最早出现的范围内检索具有给定名称的属性值。 顺序由作用域参数的数值确定(最低范围值首先)- 参数
-
name
- 要检索的属性的名称。 - 结果
- 定义具有给定名称的属性的最低范围内的属性值。 如果在任何范围内都不存在名称的属性,则返回null。
- 异常
-
NullPointerException
- 如果名称为空。 -
IllegalArgumentException
- 如果名称为空。
-
getAttributesScope
int getAttributesScope(String name)
获取定义属性的最低范围。- 参数
-
name
- 属性名称。 - 结果
- 最低的范围。 如果在任何范围内未定义具有给定名称的属性,则返回-1。
- 异常
-
NullPointerException
- 如果name为null。 -
IllegalArgumentException
- 如果名称为空。
-
getWriter
Writer getWriter()
返回显示输出时要使用的脚本的Writer
。- 结果
-
Writer
。
-
getErrorWriter
Writer getErrorWriter()
返回Writer
用于显示错误输出。- 结果
-
Writer
-
setWriter
void setWriter(Writer writer)
设置显示输出时要使用的脚本的Writer
。- 参数
-
writer
- 新的Writer
。
-
setErrorWriter
void setErrorWriter(Writer writer)
设置Writer
用于显示错误输出。- 参数
-
writer
-Writer
。
-
getReader
Reader getReader()
返回一个Reader
以供脚本使用以读取输入。- 结果
-
Reader
。
-
setReader
void setReader(Reader reader)
设置Reader
脚本以读取输入。- 参数
-
reader
- 新的Reader
。
-
-