接口 ScriptContext

所有已知的实现类:
SimpleScriptContext

public interface ScriptContext
其实现类用于在托管应用程序中将脚本引擎与对象(例如作用域绑定)连接起来的接口。每个范围都是一组命名属性,其值可以使用 ScriptContext 方法设置和检索。 ScriptContexts 还公开了 ScriptEngine 可用于输入和输出的 Reader 和 Writers。
自从:
1.6
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final int
    EngineScope 属性在单个 ScriptEngine 的生命周期内可见,并且为每个引擎维护一组属性。
    static final int
    GlobalScope 属性对于由同一 ScriptEngineFactory 创建的所有引擎都是可见的。
  • 方法总结

    修饰符和类型
    方法
    描述
    在搜索顺序中最早出现的范围内检索具有给定名称的属性的值。
    getAttribute(String name, int scope)
    获取给定范围内的属性值。
    int
    获取定义属性的最低范围。
    getBindings(int scope)
    获取与此 ScriptContext 中给定范围关联的 Bindings
    返回用于显示错误输出的Writer
    返回脚本用来读取输入的 Reader
    返回 ScriptContext 范围内所有有效值的不可变 List
    返回显示输出时要使用的脚本的 Writer
    removeAttribute(String name, int scope)
    删除给定范围内的属性。
    void
    setAttribute(String name, Object value, int scope)
    在给定范围内设置属性的值。
    void
    setBindings(Bindings bindings, int scope)
    Bindings 实例与此 ScriptContext 中的特定范围相关联。
    void
    设置用于显示错误输出的Writer
    void
    setReader(Reader reader)
    为脚本设置 Reader 以读取输入。
    void
    setWriter(Writer writer)
    为显示输出时使用的脚本设置 Writer
  • 字段详细信息

    • ENGINE_SCOPE

      static final int ENGINE_SCOPE
      EngineScope 属性在单个 ScriptEngine 的生命周期内可见,并且为每个引擎维护一组属性。
      参见:
    • GLOBAL_SCOPE

      static final int GLOBAL_SCOPE
      GlobalScope 属性对于由同一 ScriptEngineFactory 创建的所有引擎都是可见的。
      参见:
  • 方法详情

    • setBindings

      void setBindings(Bindings  bindings, int scope)
      Bindings 实例与此 ScriptContext 中的特定范围相关联。对 getAttributesetAttribute 方法的调用必须映射到指定范围的 Bindingsgetput 方法。
      参数:
      bindings - 与给定范围关联的 Bindings
      scope - 范围
      抛出:
      IllegalArgumentException - 如果没有为该类型的 ScriptContext 中指定的范围值定义 Bindings
      NullPointerException - 如果范围的值为 ENGINE_SCOPE 且指定的 Bindings 为空。
    • getBindings

      Bindings  getBindings(int scope)
      获取与此 ScriptContext 中给定范围关联的 Bindings
      参数:
      scope - 范围
      返回:
      关联的 Bindings 。如果尚未设置,则返回 null
      抛出:
      IllegalArgumentException - 如果没有为该类型的 ScriptContext 中的指定范围值定义 Bindings
    • 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 - 如果名称为空。
      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
    • getScopes

      List <Integer > getScopes()
      返回 ScriptContext 范围内所有有效值的不可变 List
      返回:
      范围值列表