Module java.scripting
Package javax.script

Interface ScriptContext

所有已知的实现类:
SimpleScriptContext

public interface ScriptContext
用于将脚本引擎与对象(如作用域绑定)连接在一起的接口,用于在托管应用程序中。每个作用域都是一组命名属性,其值可以使用ScriptContext方法设置和检索。ScriptContext还公开了读取器和写入器,供脚本引擎用于输入和输出。
自1.6版本起:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    EngineScope属性在单个ScriptEngine的生命周期内可见,并为每个引擎维护一组属性。
    static final int
    GlobalScope属性对同一ScriptEngineFactory创建的所有引擎可见。
  • Method Summary

    Modifier and Type
    Method
    Description
    检索搜索顺序中最早出现的作用域中具有给定名称的属性的值。
    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
  • Field Details

    • ENGINE_SCOPE

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

      static final int GLOBAL_SCOPE
      GlobalScope属性对同一ScriptEngineFactory创建的所有引擎可见。
      参见:
  • Method Details

    • setBindings

      void setBindings(Bindings bindings, int scope)
      Bindings实例与此ScriptContext中的特定作用域关联。对getAttributesetAttribute方法的调用必须映射到指定作用域的Bindingsgetput方法。
      参数:
      bindings - 要与给定作用域关联的Bindings
      scope - 作用域
      抛出:
      IllegalArgumentException - 如果此类型的ScriptContexts中未为指定作用域值定义Bindings
      NullPointerException - 如果作用域的值为ENGINE_SCOPE且指定的Bindings为null。
    • 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 - 如果名称为null。
    • getAttribute

      Object getAttribute(String name, int scope)
      获取给定作用域中属性的值。
      参数:
      name - 要检索的属性的名称。
      scope - 要检索属性的作用域。
      返回:
      属性的值。如果给定作用域中不存在该名称的属性,则返回null
      抛出:
      IllegalArgumentException - 如果名称为空或作用域的值无效。
      NullPointerException - 如果名称为null。
    • removeAttribute

      Object removeAttribute(String name, int scope)
      在给定作用域中删除属性。
      参数:
      name - 要移除的属性的名称
      scope - 要移除属性的作用域
      返回:
      已移除的值。
      抛出:
      IllegalArgumentException - 如果名称为空或作用域无效。
      NullPointerException - 如果名称为null。
    • getAttribute

      Object getAttribute(String name)
      检索搜索顺序中最早出现的作用域中具有给定名称的属性的值。顺序由作用域参数的数值确定(首先是最低作用域值)。
      参数:
      name - 要检索的属性的名称。
      返回:
      具有给定名称的属性在最低作用域中的值。如果任何作用域中不存在具有该名称的属性,则返回null。
      抛出:
      NullPointerException - 如果名称为null。
      IllegalArgumentException - 如果名称为空。
    • getAttributesScope

      int getAttributesScope(String name)
      获取定义属性的最低作用域。
      参数:
      name - 属性的名称。
      返回:
      最低作用域。如果任何作用域中未定义具有给定名称的属性,则返回-1。
      抛出:
      NullPointerException - 如果名称为null。
      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
      返回:
      作用域值的列表