Module java.scripting
Package javax.script

Class AbstractScriptEngine

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)

使用抽象方法

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

以及一个SimpleScriptContext实现。

SimpleScriptContext被用作AbstractScriptEngine的默认ScriptContext

自1.6版本起:
1.6
  • Field Details

    • context

      protected ScriptContext context
      这个AbstractScriptEngine的默认ScriptContext
  • Constructor Details

    • AbstractScriptEngine

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

      public AbstractScriptEngine(Bindings n)
      使用指定的Bindings作为受保护的context字段中ENGINE_SCOPE Bindings的新实例。
      参数:
      n - 指定的Bindings
      抛出:
      NullPointerException - 如果n为null。
  • Method Details

    • setContext

      public void setContext(ScriptContext ctxt)
      将受保护的context字段的值设置为指定的ScriptContext
      指定者:
      setContext 在接口 ScriptEngine
      参数:
      ctxt - 指定的ScriptContext
      抛出:
      NullPointerException - 如果ctxt为null。
    • getContext

      public ScriptContext getContext()
      返回受保护的context字段的值。
      指定者:
      getContext 在接口 ScriptEngine
      返回:
      受保护的context字段的值。
    • getBindings

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

      public void setBindings(Bindings bindings, int scope)
      context字段中设置具有相应范围值的Bindings
      指定者:
      setBindings 在接口 ScriptEngine
      参数:
      bindings - 指定的Bindings
      scope - 指定的范围。
      抛出:
      IllegalArgumentException - 如果范围的值对于context字段的类型无效。
      NullPointerException - 如果绑定为null且范围为ScriptContext.ENGINE_SCOPE
    • put

      public void put(String key, Object value)
      在受保护的context字段的ENGINE_SCOPE Bindings中设置指定键的指定值。
      指定者:
      put 在接口 ScriptEngine
      参数:
      key - 指定的键。
      value - 指定的值。
      抛出:
      NullPointerException - 如果键为null。
      IllegalArgumentException - 如果键为空。
    • get

      public Object get(String key)
      获取受保护的context字段中ENGINE_SCOPE的指定键的值。
      指定者:
      get 在接口 ScriptEngine
      参数:
      key - 要返回其值的键
      返回:
      指定键的值。
      抛出:
      NullPointerException - 如果键为null。
      IllegalArgumentException - 如果键为空。
    • eval

      public Object eval(Reader reader, Bindings bindings) throws ScriptException
      eval(Reader, Bindings)调用抽象的eval(Reader, ScriptContext)方法,传递一个ScriptContext,其Reader、Writer和除ENGINE_SCOPE之外的范围的Bindings与受保护的context字段的成员相同。指定的Bindings将用于替代context字段的ENGINE_SCOPE Bindings
      指定者:
      eval 在接口 ScriptEngine
      参数:
      reader - 包含脚本源的Reader
      bindings - 在脚本执行时用于ENGINE_SCOPEBindings
      返回:
      来自eval(Reader, ScriptContext)的返回值
      抛出:
      ScriptException - 如果脚本中发生错误。
      NullPointerException - 如果任何参数为null。
    • eval

      public Object eval(String script, Bindings bindings) throws ScriptException
      eval(Reader, Bindings)相同,只是使用了抽象的eval(String, ScriptContext)
      指定者:
      eval 在接口 ScriptEngine
      参数:
      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字段的值。
      指定由:
      eval 在接口 ScriptEngine
      参数:
      reader - 包含脚本源的Reader
      返回:
      来自eval(Reader, ScriptContext)的返回值
      抛出:
      ScriptException - 如果脚本中发生错误。
      NullPointerException - 如果任何参数为null。
    • eval

      public Object eval(String script) throws ScriptException
      eval(Reader)相同,只是使用了抽象的eval(String, ScriptContext)
      指定由:
      eval 在接口 ScriptEngine
      参数:
      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