Module  java.scripting
软件包  javax.script

Class AbstractScriptEngine

  • All Implemented Interfaces:
    ScriptEngine
    已知直接子类:
    NashornScriptEngine


    public abstract class AbstractScriptEngine
    extends Object
    implements ScriptEngine
    eval方法的几种变体提供标准实现。

    eval(Reader)

    eval(String)

    eval(String, Bindings)

    eval(Reader, Bindings)

    使用抽象方法实现

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

    SimpleScriptContext

    一个SimpleScriptContext用作默认ScriptContext的的AbstractScriptEngine ..

    从以下版本开始:
    1.6
    • 字段详细信息

      • context

        protected ScriptContext context
        ScriptContext的默认 ScriptContext AbstractScriptEngine
    • 构造方法详细信息

      • AbstractScriptEngine

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

        public AbstractScriptEngine​(Bindings n)
        使用指定的一个新的实例 BindingsENGINE_SCOPE Bindings在保护 context领域。
        参数
        n - 指定的 Bindings
        异常
        NullPointerException - 如果n为空。
    • 方法详细信息

      • getContext

        public ScriptContext getContext​()
        返回受保护的 context字段的值。
        Specified by:
        getContext在接口 ScriptEngine
        结果
        受保护的值 context字段。
      • getBindings

        public Bindings getBindings​(int scope)
        返回 Bindings与受保护的规定范围值 context场。
        Specified by:
        getBindings接口 ScriptEngine
        参数
        scope - 指定范围
        结果
        相应的 Bindings
        异常
        IllegalArgumentException - 如果范围的值对于受保护的类型 context字段无效。
      • setBindings

        public void setBindings​(Bindings bindings,
                                int scope)
        设置 Bindings与在相应的范围值 context字段。
        Specified by:
        setBindings在接口 ScriptEngine
        参数
        bindings - 指定的 Bindings
        scope - 指定的范围。
        异常
        IllegalArgumentException - 如果范围的值对于类型为 context字段无效。
        NullPointerException - 如果绑定为空,范围为 ScriptContext.ENGINE_SCOPE
      • eval

        public Object eval​(Reader reader,
                           Bindings bindings)
                    throws ScriptException
        eval(Reader, Bindings)调用抽象eval(Reader, ScriptContext)方法,传递一个ScriptContext其阅读器,作家和绑定用于其他范围的是ENGINE_SCOPE是相同的受保护的那些成员context字段。 指定Bindings被用来代替ENGINE_SCOPE Bindings所述的context字段。
        Specified by:
        eval在接口 ScriptEngine
        参数
        reader - 包含脚本源的 Reader
        bindings -一个 Bindings要用于 ENGINE_SCOPE而执行脚本。
        结果
        返回值为 eval(Reader, ScriptContext)
        异常
        ScriptException - 脚本中是否发生错误。
        NullPointerException - 如果任何参数为空。
      • eval

        public Object eval​(String script,
                           Bindings bindings)
                    throws ScriptException
        eval(Reader, Bindings)相同,但使用摘要 eval(String, ScriptContext)
        Specified by:
        eval在接口 ScriptEngine
        参数
        script - 包含脚本源的 String
        bindings - A Bindings在脚本执行时用作 ENGINE_SCOPE
        结果
        返回值为 eval(String, ScriptContext)
        异常
        ScriptException - 脚本中是否发生错误。
        NullPointerException - 如果任何参数为空。
      • eval

        public Object eval​(Reader reader)
                    throws ScriptException
        eval(Reader)调用摘要 eval(Reader, ScriptContext)传递值的 context字段。
        Specified by:
        eval在接口 ScriptEngine
        参数
        reader - 包含脚本源的 Reader
        结果
        返回值为 eval(Reader, ScriptContext)
        异常
        ScriptException - 如果脚本中发生错误。
        NullPointerException - 如果任何参数为空。
      • eval

        public Object eval​(String script)
                    throws ScriptException
        eval(Reader)相同,除了使用抽象的 eval(String, ScriptContext)
        Specified by:
        eval在接口 ScriptEngine
        参数
        script - A String包含脚本的源。
        结果
        来自 eval(String, ScriptContext)的返回值
        异常
        ScriptException - 如果脚本中发生错误。
        NullPointerException - 如果任何参数为空。
      • getScriptContext

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

        • 使用指定的Bindings作为其ENGINE_SCOPE
        • 使用摘要Bindings返回的getGlobalScope作为其GLOBAL_SCOPE
        • 使用默认的Reader和Writer ScriptContext如此ScriptEngine


        通过此方法返回的A SimpleScriptContext用于实现使用抽象的eval(Reader,Bindings)eval(String,Bindings)版本的eval方法。
        参数
        nn - 用于 ENGINE_SCOPE绑定
        结果
        SimpleScriptContext