javax.script

接口
异常
java.lang.Object
  继承者 javax.script.AbstractScriptEngine
所有已实现的接口:
ScriptEngine

public abstract class AbstractScriptEngine
     
extends Object
implements ScriptEngine

为几个 eval 方法的变体提供标准实现。

eval(Reader)

eval(String)

eval(String, Bindings)

eval(Reader, Bindings)

是使用带有 SimpleScriptContext 的抽象方法

eval(Reader,ScriptContext)eval(String, ScriptContext)

实现的。

SimpleScriptContext 被用作 AbstractScriptEngine 的默认 ScriptContext

从以下版本开始:
1.6

字段摘要
protected  ScriptContext context
          此 AbstractScriptEngine 的默认 ScriptContext
 
从接口 javax.script.ScriptEngine 继承的字段
ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
 
构造方法摘要
AbstractScriptEngine()
          创建一个新的 AbstractScriptEngine 实例,使用 SimpleScriptContext 作为其默认 ScriptContext
AbstractScriptEngine(Bindings n)
          创建一个新实例,使用指定 Bindings 作为受保护 context 字段中的 ENGINE_SCOPE Bindings
 
方法摘要
 Object eval(Reader reader)
          eval(Reader) 调用抽象 eval(Reader, ScriptContext),并传递 context 字段的值给它。
 Object eval(Reader reader, Bindings bindings)
          eval(Reader, Bindings) 调用抽象 eval(Reader, ScriptContext) 方法,并传递一个 ScriptContext 给它,对于 ENGINE_SCOPE 以外的范围,该 ScriptContext 的 Reader、Writer 和 Bindings 等同于受保护 context 字段的 Reader、Writer 和 Bindings。
 Object eval(String script)
          除使用抽象 eval(String, ScriptContext) 之外,与 eval(Reader) 相同。
 Object eval(String script, Bindings bindings)
          除使用抽象 eval(String, ScriptContext) 之外,与 eval(Reader, Bindings) 相同。
 Object get(String key)
          获取受保护 context 字段的 ENGINE_SCOPE 中指定键的值。
 Bindings getBindings(int scope)
          返回受保护 context 字段中具有指定范围值的 Bindings
 ScriptContext getContext()
          返回受保护 context 字段的值。
protected  ScriptContext getScriptContext(Bindings nn)
          返回一个 SimpleScriptContext
 void put(String key, Object value)
          使用受保护 context 字段的 ENGINE_SCOPE Bindings 中的指定键设置指定的值。
 void setBindings(Bindings bindings, int scope)
          使用 context 字段中的相应范围值设置 Bindings
 void setContext(ScriptContext ctxt)
          将受保护 context 字段的值设置为指定的 ScriptContext
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
从接口 javax.script.ScriptEngine 继承的方法
createBindings, eval, eval, getFactory
 

字段详细信息

context

protected ScriptContext context
AbstractScriptEngine 的默认 ScriptContext

构造方法详细信息

AbstractScriptEngine

public AbstractScriptEngine()
创建一个新的 AbstractScriptEngine 实例,使用 SimpleScriptContext 作为其默认 ScriptContext


AbstractScriptEngine

public AbstractScriptEngine(Bindings n)
创建一个新实例,使用指定 Bindings 作为受保护 context 字段中的 ENGINE_SCOPE Bindings

参数:
n - 指定的 Bindings
抛出:
NullPointerException - 如果 n 为 null。
方法详细信息

setContext

public void setContext(ScriptContext ctxt)
将受保护 context 字段的值设置为指定的 ScriptContext

指定者:
接口 ScriptEngine 中的 setContext
参数:
ctxt - 指定的 ScriptContext
抛出:
NullPointerException - 如果 ctxt 为 null。

getContext

public ScriptContext getContext()
返回受保护 context 字段的值。

指定者:
接口 ScriptEngine 中的 getContext
返回:
受保护 context 字段的值。

getBindings

public Bindings getBindings(int scope)
返回受保护 context 字段中具有指定范围值的 Bindings

指定者:
接口 ScriptEngine 中的 getBindings
参数:
scope - 指定的范围
返回:
相应的 Bindings
抛出:
IllegalArgumentException - 如果范围值对于受保护 context 字段的类型无效。

setBindings

public void setBindings(Bindings bindings,
                        int scope)
使用 context 字段中的相应范围值设置 Bindings

指定者:
接口 ScriptEngine 中的 setBindings
参数:
bindings - 指定的 Bindings
scope - 指定的范围。
抛出:
IllegalArgumentException - 如果范围值对于 context 字段的类型无效。
NullPointerException - 如果 bindings 为 null 且 scope 为 ScriptContext.ENGINE_SCOPE

put

public void put(String key,
                Object value)
使用受保护 context 字段的 ENGINE_SCOPE Bindings 中的指定键设置指定的值。

指定者:
接口 ScriptEngine 中的 put
参数:
key - 指定的键。
value - 指定的值。
抛出:
NullPointerException - 如果 key 为 null。
IllegalArgumentException - 如果 key 为空。

get

public Object get(String key)
获取受保护 context 字段的 ENGINE_SCOPE 中指定键的值。

指定者:
接口 ScriptEngine 中的 get
参数:
key - 将返回其值的键
返回:
指定键的值。
抛出:
NullPointerException - 如果 key 为 null。
IllegalArgumentException - 如果 key 为空。

eval

public Object eval(Reader reader,
                   Bindings bindings)
            throws ScriptException
eval(Reader, Bindings) 调用抽象 eval(Reader, ScriptContext) 方法,并传递一个 ScriptContext 给它,对于 ENGINE_SCOPE 以外的范围,该 ScriptContext 的 Reader、Writer 和 Bindings 等同于受保护 context 字段的 Reader、Writer 和 Bindings。使用指定的 Bindings,而不是 context 字段的 ENGINE_SCOPE Bindings

指定者:
接口 ScriptEngine 中的 eval
参数:
reader - 包含脚本的源的 Reader
bindings - 执行脚本时用于 ENGINE_SCOPEBindings
返回:
eval(Reader, ScriptContext) 的返回值
抛出:
ScriptException - 如果脚本发生错误。
NullPointerException - 如果任何参数为 null。

eval

public Object eval(String script,
                   Bindings bindings)
            throws ScriptException
除使用抽象 eval(String, ScriptContext) 之外,与 eval(Reader, Bindings) 相同。

指定者:
接口 ScriptEngine 中的 eval
参数:
script - 包含脚本的源的 String
bindings - 执行脚本时用作 ENGINE_SCOPEBindings
返回:
eval(String, ScriptContext) 的返回值
抛出:
ScriptException - 如果脚本发生错误。
NullPointerException - 如果任何参数为 null。

eval

public Object eval(Reader reader)
            throws ScriptException
eval(Reader) 调用抽象 eval(Reader, ScriptContext),并传递 context 字段的值给它。

指定者:
接口 ScriptEngine 中的 eval
参数:
reader - 包含脚本的源的 Reader
返回:
eval(Reader, ScriptContext) 的返回值
抛出:
ScriptException - 如果脚本发生错误。
NullPointerException - 如果任何参数为 null。

eval

public Object eval(String script)
            throws ScriptException
除使用抽象 eval(String, ScriptContext) 之外,与 eval(Reader) 相同。

指定者:
接口 ScriptEngine 中的 eval
参数:
script - 包含脚本的源的 String
返回:
eval(String, ScriptContext) 的返回值
抛出:
ScriptException - 如果脚本发生错误。
NullPointerException - 如果任何参数为 null。

getScriptContext

protected ScriptContext getScriptContext(Bindings nn)
返回一个 SimpleScriptContext。该 SimpleScriptContext

  • 将指定的 Bindings 用于其 ENGINE_SCOPE
  • 将抽象 getGlobalScope 方法返回的 Bindings 用作其 GLOBAL_SCOPE
  • 使用此 ScriptEngine 的默认 ScriptContext 中的 Reader 和 Writer


此方法返回的 SimpleScriptContext 被用来实现使用抽象 eval(Reader,Bindings)eval(String,Bindings) 的 eval 方法。

参数:
nn - 用于 ENGINE_SCOPE 的 Bindings
返回:
SimpleScriptContext