-
- 所有已知实现类:
-
SimpleScriptContext
public interface ScriptContext该接口的实现类用于将脚本引擎与对象(如作用域绑定)连接在托管应用程序中。 每个范围是一组命名属性,其值可以使用ScriptContext方法进行设置和检索。 ScriptContexts还暴露了ScriptEngines可以用于输入和输出的读者和作者。- 从以下版本开始:
- 1.6
-
-
Field Summary
Fields Modifier and Type Field 描述 static intENGINE_SCOPEEngineScope属性在单个ScriptEngine的生存期内可见,并为每个引擎维护一组属性。static intGLOBAL_SCOPE由相同ScriptEngineFactory创建的所有引擎都可以看到GlobalScope属性。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 ObjectgetAttribute(String name)在搜索顺序中最早出现的范围内检索具有给定名称的属性值。ObjectgetAttribute(String name, int scope)获取给定范围内的属性值。intgetAttributesScope(String name)获取定义属性的最低范围。BindingsgetBindings(int scope)获取Bindings,在这个给定的范围相关ScriptContext。WritergetErrorWriter()返回用于显示错误输出的Writer。ReadergetReader()返回一个Reader以供脚本使用以读取输入。List<Integer>getScopes()返回不可变的List的ScriptContext中范围的所有有效值。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。
-
-
-
字段详细信息
-
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。
-
-