- 所有已知的实现类:
SimpleScriptContext
public interface ScriptContext
其实现类用于在托管应用程序中将脚本引擎与对象(例如作用域绑定)连接起来的接口。每个范围都是一组命名属性,其值可以使用
ScriptContext 方法设置和检索。 ScriptContexts 还公开了 ScriptEngine 可用于输入和输出的 Reader 和 Writers。
- 自从:
- 1.6
-
字段摘要
字段修饰符和类型Field描述static final intEngineScope 属性在单个ScriptEngine的生命周期内可见,并且为每个引擎维护一组属性。static final intGlobalScope 属性对于由同一 ScriptEngineFactory 创建的所有引擎都是可见的。 -
方法总结
修饰符和类型方法描述getAttribute(String name) 在搜索顺序中最早出现的范围内检索具有给定名称的属性的值。getAttribute(String name, int scope) 获取给定范围内的属性值。intgetAttributesScope(String name) 获取定义属性的最低范围。getBindings(int scope) 获取与此ScriptContext中给定范围关联的Bindings。返回用于显示错误输出的Writer。返回脚本用来读取输入的Reader。返回 ScriptContext 范围内所有有效值的不可变List。返回显示输出时要使用的脚本的Writer。removeAttribute(String name, int scope) 删除给定范围内的属性。voidsetAttribute(String name, Object value, int scope) 在给定范围内设置属性的值。voidsetBindings(Bindings bindings, int scope) 将Bindings实例与此ScriptContext中的特定范围相关联。voidsetErrorWriter(Writer writer) 设置用于显示错误输出的Writer。void为脚本设置Reader以读取输入。void为显示输出时使用的脚本设置Writer。
-
字段详细信息
-
ENGINE_SCOPE
static final int ENGINE_SCOPEEngineScope 属性在单个ScriptEngine的生命周期内可见,并且为每个引擎维护一组属性。- 参见:
-
GLOBAL_SCOPE
static final int GLOBAL_SCOPEGlobalScope 属性对于由同一 ScriptEngineFactory 创建的所有引擎都是可见的。- 参见:
-
-
方法详情
-
setBindings
将Bindings实例与此ScriptContext中的特定范围相关联。对getAttribute和setAttribute方法的调用必须映射到指定范围的Bindings的get和put方法。- 参数:
bindings- 与给定范围关联的Bindingsscope- 范围- 抛出:
IllegalArgumentException- 如果没有为该类型的 ScriptContext 中指定的范围值定义Bindings。NullPointerException- 如果范围的值为ENGINE_SCOPE且指定的Bindings为空。
-
getBindings
获取与此ScriptContext中给定范围关联的Bindings。- 参数:
scope- 范围- 返回:
-
关联的
Bindings。如果尚未设置,则返回null。 - 抛出:
IllegalArgumentException- 如果没有为该类型的ScriptContext中的指定范围值定义Bindings。
-
setAttribute
在给定范围内设置属性的值。如果范围是GLOBAL_SCOPE并且没有为GLOBAL_SCOPE设置绑定,则 setAttribute 调用是空操作。- 参数:
name- 要设置的属性的名称value- 属性值scope- 设置属性的范围- 抛出:
IllegalArgumentException- 如果名称为空或范围无效。NullPointerException- 如果名称为空。
-
getAttribute
获取给定范围内的属性值。- 参数:
name- 要检索的属性的名称。scope- 检索属性的范围。- 返回:
-
属性的值。返回
null是给定范围内不存在的名称。 - 抛出:
IllegalArgumentException- 如果名称为空或范围的值无效。NullPointerException- 如果名称为空。
-
removeAttribute
删除给定范围内的属性。- 参数:
name- 要删除的属性的名称scope- 删除属性的范围- 返回:
- 移除的值。
- 抛出:
IllegalArgumentException- 如果名称为空或范围无效。NullPointerException- 如果名称为空。
-
getAttribute
在搜索顺序中最早出现的范围内检索具有给定名称的属性的值。顺序由范围参数的数值确定(最低范围值在前)。- 参数:
name- 要检索的属性的名称。- 返回:
- 定义了具有给定名称的属性的最低作用域中的属性值。如果任何范围内不存在具有名称的属性,则返回 null。
- 抛出:
NullPointerException- 如果名称为空。IllegalArgumentException- 如果名称为空。
-
getAttributesScope
获取定义属性的最低范围。- 参数:
name- 属性名称。- 返回:
- 最低范围。如果在任何范围内都没有定义具有给定名称的属性,则返回 -1。
- 抛出:
NullPointerException- 如果名称为空。IllegalArgumentException- 如果名称为空。
-
getWriter
Writer getWriter()返回显示输出时要使用的脚本的Writer。- 返回:
Writer。
-
getErrorWriter
Writer getErrorWriter()返回用于显示错误输出的Writer。- 返回:
Writer
-
setWriter
为显示输出时使用的脚本设置Writer。- 参数:
writer- 新的Writer。
-
setErrorWriter
设置用于显示错误输出的Writer。- 参数:
writer-Writer。
-
getReader
Reader getReader()返回脚本用来读取输入的Reader。- 返回:
Reader。
-
setReader
为脚本设置Reader以读取输入。- 参数:
reader- 新的Reader。
-
getScopes
返回 ScriptContext 范围内所有有效值的不可变List。- 返回:
- 范围值列表
-