-
- 所有已知实现类:
-
SimpleScriptContext
public interface ScriptContext
实现类的接口用于在托管应用程序中将脚本引擎与对象(如作用域绑定)连接起来。 每个范围都是一组命名属性,可以使用ScriptContext
方法设置和检索其值。 ScriptContexts还公开了ScriptEngines可用于输入和输出的读者和写者。- 从以下版本开始:
- 1.6
-
-
字段汇总
字段 变量和类型 字段 描述 static int
ENGINE_SCOPE
EngineScope属性在单个ScriptEngine
的生命周期内可见,并为每个引擎维护一组属性。static int
GLOBAL_SCOPE
GlobalScope属性对同一ScriptEngineFactory创建的所有引擎都可见。
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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()
返回ScriptContext中范围的所有有效值的不可变List
。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
。
-
-
-
方法详细信息
-
setBindings
void setBindings(Bindings bindings, int scope)
将Bindings
实例与此ScriptContext
的特定范围ScriptContext
。 对getAttribute
和setAttribute
方法的调用必须映射到指定范围的Bindings
的get
和put
方法。- 参数
-
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
设置GLOBAL_SCOPE
,则setAttribute调用是无操作。- 参数
-
name
- 要设置的属性的名称 -
value
- 属性的值 -
scope
- 设置属性的范围 - 异常
-
IllegalArgumentException
- 如果名称为空或范围无效。 -
NullPointerException
- 如果名称为null。
-
getAttribute
Object getAttribute(String name, int scope)
获取给定范围内的属性的值。- 参数
-
name
- 要检索的属性的名称。 -
scope
- 检索属性的范围。 - 结果
- 属性的值。 返回
null
是给定范围中不存在的名称。 - 异常
-
IllegalArgumentException
- 如果名称为空或作用域的值无效。 -
NullPointerException
- 如果名称为null。
-
removeAttribute
Object removeAttribute(String name, int scope)
删除给定范围中的属性。- 参数
-
name
- 要删除的属性的名称 -
scope
- 删除属性的范围 - 结果
- 删除的值。
- 异常
-
IllegalArgumentException
- 如果名称为空或范围无效。 -
NullPointerException
- 如果名称为null。
-
getAttribute
Object getAttribute(String name)
检索在搜索顺序中最早发生的范围内具有给定名称的属性的值。 顺序由范围参数的数值确定(首先是最低范围值。)- 参数
-
name
- 要检索的属性的名称。 - 结果
- 定义具有给定名称的属性的最低范围中的属性的值。 如果任何范围中都不存在具有该名称的属性,则返回null。
- 异常
-
NullPointerException
- 如果名称为null。 -
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
- TheWriter
。
-
getReader
Reader getReader()
返回脚本用于读取输入的Reader
。- 结果
-
Reader
。
-
setReader
void setReader(Reader reader)
为脚本设置Reader
以读取输入。- 参数
-
reader
- 新的Reader
。
-
-