-
- 所有已知实现类:
-
SimpleScriptContext
public interface ScriptContext实现类的接口用于在托管应用程序中将脚本引擎与对象(如作用域绑定)连接起来。 每个范围都是一组命名属性,可以使用ScriptContext方法设置和检索其值。 ScriptContexts还公开了ScriptEngines可用于输入和输出的读者和写者。- 从以下版本开始:
- 1.6
-
-
字段汇总
字段 变量和类型 字段 描述 static intENGINE_SCOPEEngineScope属性在单个ScriptEngine的生命周期内可见,并为每个引擎维护一组属性。static intGLOBAL_SCOPEGlobalScope属性对同一ScriptEngineFactory创建的所有引擎都可见。
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 ObjectgetAttribute(String name)检索在搜索顺序中最早发生的范围内具有给定名称的属性的值。ObjectgetAttribute(String name, int scope)获取给定范围内的属性的值。intgetAttributesScope(String name)获取定义属性的最低范围。BindingsgetBindings(int scope)获取与此Bindings中的给定范围关联的ScriptContext。WritergetErrorWriter()返回用于显示错误输出的Writer。ReadergetReader()返回脚本用于读取输入的Reader。List<Integer>getScopes()返回ScriptContext中范围的所有有效值的不可变List。WritergetWriter()返回显示输出时要使用的脚本的Writer。ObjectremoveAttribute(String name, int scope)删除给定范围中的属性。voidsetAttribute(String name, Object value, int scope)设置给定范围中属性的值。voidsetBindings(Bindings bindings, int scope)将Bindings实例与此ScriptContext的特定范围ScriptContext。voidsetErrorWriter(Writer writer)设置用于显示错误输出的Writer。voidsetReader(Reader reader)为脚本设置Reader以读取输入。voidsetWriter(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。
-
-