public interface ScriptContext
该接口的实现类被用来连接 Script Engines 和宿主应用程序中的对象(如有范围的 Bindings)。每个范围都是一个指定属性集,这些属性的值可以使用 ScriptContext 方法设置和获取。ScriptContext 还公开可由 ScriptEngine 用于输入和输出的 Reader 和 Writer。
| 字段摘要 | |
|---|---|
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) 获取与此 ScriptContext 中的给定范围关联的 Bindings。 |
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 中的特定范围关联。 |
void |
setErrorWriter(Writer writer) 设置用来显示错误输出的 Writer。 |
void |
setReader(Reader reader) 设置脚本的 Reader,以读取输入。 |
void |
setWriter(Writer writer) 设置脚本的 Writer,以便在显示输出时使用。 |
| 字段详细信息 |
|---|
static final int ENGINE_SCOPE
ScriptEngine 的生存期是可见的,并为每个引擎维护一个属性集。
static final int GLOBAL_SCOPE
| 方法详细信息 |
|---|
void setBindings(Bindings bindings, int scope)
Bindings 实例与此
ScriptContext 中的特定范围关联。
getAttribute 和
setAttribute 方法的调用必须映射到指定范围的
Bindings 的
get 和
put 方法。
bindings - 与给定范围关联的
Bindings
scope - 范围
IllegalArgumentException - 如果没有为此类型 ScriptContext 中的指定范围值定义
Bindings。
NullPointerException - 如果 scope 的值为
ENGINE_SCOPE 并且指定的
Bindings 为 null。
Bindings getBindings(int scope)
ScriptContext 中的给定范围关联的
Bindings。
Bindings。如果尚未设置,则返回
null。
IllegalArgumentException - 如果没有为此类型的
ScriptContext 中的指定范围值定义
Bindings。
void setAttribute(String name, Object value, int scope)
name - 要设置的属性的名称
value - 属性值
scope - 属性的设置范围
IllegalArgumentException - 如果 name 为空,或者 scope 无效。
NullPointerException - 如果 name 为 null。
Object getAttribute(String name, int scope)
name - 要获取的属性名称。
scope - 将在其中获取属性的范围。
null 表示 name 不存在于给定范围中。
IllegalArgumentException - 如果 name 为空,或者 scope 的值无效。
NullPointerException - 如果 name 为 null。
Object removeAttribute(String name, int scope)
name - 要移除的属性的名称
scope - 移除属性的范围
IllegalArgumentException - 如果 name 为空,或者 scope 无效。
NullPointerException - 如果 name 为 null。
Object getAttribute(String name)
name - 要获取的属性的名称。
NullPointerException - 如果 name 为 null。
IllegalArgumentException - 如果 name 为空。
int getAttributesScope(String name)
name - 属性的名称。
NullPointerException - 如果 name 为 null。
IllegalArgumentException - 如果 name 为空。
Writer getWriter()
Writer,以便在显示输出时使用。
Writer。
Writer getErrorWriter()
Writer。
Writer
void setWriter(Writer writer)
Writer,以便在显示输出时使用。
writer - 新的
Writer。
void setErrorWriter(Writer writer)
Writer。
writer -
Writer。
Reader getReader()
Reader。
Reader。
void setReader(Reader reader)
Reader,以读取输入。
reader - 新的
Reader。
List<Integer> getScopes()
List。