- 所有已知的实现类:
-
SimpleScriptContext
public interface ScriptContext
用于将脚本引擎与对象(如作用域绑定)连接在一起的接口,用于在托管应用程序中。每个作用域都是一组命名属性,其值可以使用
ScriptContext方法设置和检索。ScriptContext还公开了读取器和写入器,供脚本引擎用于输入和输出。
- 自1.6版本起:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intEngineScope属性在单个ScriptEngine的生命周期内可见,并为每个引擎维护一组属性。static final intGlobalScope属性对同一ScriptEngineFactory创建的所有引擎可见。 -
Method Summary
Modifier and TypeMethodDescriptiongetAttribute(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。
-
Field Details
-
ENGINE_SCOPE
static final int ENGINE_SCOPEEngineScope属性在单个ScriptEngine的生命周期内可见,并为每个引擎维护一组属性。- 参见:
-
GLOBAL_SCOPE
static final int GLOBAL_SCOPEGlobalScope属性对同一ScriptEngineFactory创建的所有引擎可见。- 参见:
-
-
Method Details
-
setBindings
将Bindings实例与此ScriptContext中的特定作用域关联。对getAttribute和setAttribute方法的调用必须映射到指定作用域的Bindings的get和put方法。- 参数:
-
bindings- 要与给定作用域关联的Bindings -
scope- 作用域 - 抛出:
-
IllegalArgumentException- 如果此类型的ScriptContexts中未为指定作用域值定义Bindings。 -
NullPointerException- 如果作用域的值为ENGINE_SCOPE且指定的Bindings为null。
-
getBindings
获取与此ScriptContext中给定作用域关联的Bindings。- 参数:
-
scope- 作用域 - 返回:
-
关联的
Bindings。如果尚未设置,则返回null。 - 抛出:
-
IllegalArgumentException- 如果此类型的ScriptContext中未为指定作用域值定义Bindings。
-
setAttribute
在给定作用域中设置属性的值。如果作用域为GLOBAL_SCOPE且未为GLOBAL_SCOPE设置绑定,则setAttribute调用将不起作用。- 参数:
-
name- 要设置的属性的名称 -
value- 属性的值 -
scope- 要设置属性的作用域 - 抛出:
-
IllegalArgumentException- 如果名称为空或作用域无效。 -
NullPointerException- 如果名称为null。
-
getAttribute
获取给定作用域中属性的值。- 参数:
-
name- 要检索的属性的名称。 -
scope- 要检索属性的作用域。 - 返回:
-
属性的值。如果给定作用域中不存在该名称的属性,则返回
null。 - 抛出:
-
IllegalArgumentException- 如果名称为空或作用域的值无效。 -
NullPointerException- 如果名称为null。
-
removeAttribute
在给定作用域中删除属性。- 参数:
-
name- 要移除的属性的名称 -
scope- 要移除属性的作用域 - 返回:
- 已移除的值。
- 抛出:
-
IllegalArgumentException- 如果名称为空或作用域无效。 -
NullPointerException- 如果名称为null。
-
getAttribute
检索搜索顺序中最早出现的作用域中具有给定名称的属性的值。顺序由作用域参数的数值确定(首先是最低作用域值)。- 参数:
-
name- 要检索的属性的名称。 - 返回:
- 具有给定名称的属性在最低作用域中的值。如果任何作用域中不存在具有该名称的属性,则返回null。
- 抛出:
-
NullPointerException- 如果名称为null。 -
IllegalArgumentException- 如果名称为空。
-
getAttributesScope
获取定义属性的最低作用域。- 参数:
-
name- 属性的名称。 - 返回:
- 最低作用域。如果任何作用域中未定义具有给定名称的属性,则返回-1。
- 抛出:
-
NullPointerException- 如果名称为null。 -
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。- 返回:
- 作用域值的列表
-