Module  java.scripting
软件包  javax.script

Class SimpleScriptContext

  • All Implemented Interfaces:
    ScriptContext


    public class SimpleScriptContext
    extends Object
    implements ScriptContext
    简单实现ScriptContext。
    从以下版本开始:
    1.6
    • 字段详细信息

      • writer

        protected Writer writer
        这是用于从脚本输出的作者。 默认情况下, PrintWriter基于System.out使用。 Accessor方法getWriter,setWriter用于管理此字段。
        另请参见:
        System.outPrintWriter
      • errorWriter

        protected Writer errorWriter
        这是用于从脚本输出错误的作者。 默认情况下, PrintWriter基于System.err使用。 访问者方法getErrorWriter,setErrorWriter用于管理此字段。
        另请参见:
        System.errPrintWriter
      • reader

        protected Reader reader
        这是用于从脚本输入的读者。 默认情况下, InputStreamReader基于System.in被使用,默认字符集是使用该阅读器。 访问者方法getReader,setReader用于管理此字段。
        另请参见:
        System.inInputStreamReader
      • engineScope

        protected Bindings engineScope
        这是引擎范围绑定。 默认情况下,使用SimpleBindings 访问方法setBindings,getBindings用于管理此字段。
        另请参见:
        SimpleBindings
      • globalScope

        protected Bindings globalScope
        这是全局范围绑定。 默认情况下,使用空值(这意味着没有全局范围)。 访问方法setBindings,getBindings用于管理此字段。
    • 构造方法详细信息

      • SimpleScriptContext

        public SimpleScriptContext​()
        创建一个 SimpleScriptContext
    • 方法详细信息

      • setBindings

        public void setBindings​(Bindings bindings,
                                int scope)
        为给定的范围设置一个Bindings的属性。 如果范围值为ENGINE_SCOPE则给定Bindings替换engineScope字段。 如果范围值为GLOBAL_SCOPE则给出Bindings替换globalScope字段。
        Specified by:
        setBindings在接口 ScriptContext
        参数
        bindings - 要设置的属性的 Bindings
        scope - 属性设置范围的值。
        异常
        IllegalArgumentException - 如果范围无效。
        NullPointerException - 如果范围值为 ENGINE_SCOPE ,指定的 Bindings为空。
      • getAttribute

        public Object getAttribute​(String name)
        在搜索顺序中最早出现的范围内检索具有给定名称的属性值。 顺序由作用域参数的数值确定(最低范围值首先)
        Specified by:
        getAttribute在接口 ScriptContext
        参数
        name - 要检索的属性的名称。
        结果
        定义具有给定名称的属性的最低范围内的属性值。 如果在任何范围内都不存在名称的属性,则返回null。
        异常
        NullPointerException - 如果名称为空。
        IllegalArgumentException - 如果名称为空。
      • getAttribute

        public Object getAttribute​(String name,
                                   int scope)
        获取给定范围内的属性值。
        Specified by:
        getAttribute在接口 ScriptContext
        参数
        name - 要检索的属性的名称。
        scope - 检索属性的范围。
        结果
        属性的值。 返回null是给定范围内不存在的名称。
        异常
        IllegalArgumentException - 如果名称为空或范围的值无效。
        NullPointerException - 如果名称为空。
      • setAttribute

        public void setAttribute​(String name,
                                 Object value,
                                 int scope)
        设置给定范围内的属性值。 如果范围为GLOBAL_SCOPE并且没有为GLOBAL_SCOPE设置绑定,则setAttribute调用是无操作的。
        Specified by:
        setAttribute在接口 ScriptContext
        参数
        name - 要设置的属性的名称
        value - 属性的值
        scope - 设置属性的范围
        异常
        IllegalArgumentException - 如果名称为空或范围无效。
        NullPointerException - 如果名称为空。
      • getWriter

        public Writer getWriter​()
        返回显示输出时要使用的脚本的 Writer
        Specified by:
        getWriter在接口 ScriptContext
        结果
        Writer
      • getReader

        public Reader getReader​()
        返回一个 Reader ,由脚本用来读取输入。
        Specified by:
        getReader在接口 ScriptContext
        结果
        Reader
      • setReader

        public void setReader​(Reader reader)
        设置 Reader的脚本以读取输入。
        Specified by:
        setReader在接口 ScriptContext
        参数
        reader - 新的 Reader
      • setWriter

        public void setWriter​(Writer writer)
        设置 Writer用于显示输出时使用的脚本。
        Specified by:
        setWriter在接口 ScriptContext
        参数
        writer - 新的 Writer
      • setErrorWriter

        public void setErrorWriter​(Writer writer)
        设置 Writer用于显示错误输出。
        Specified by:
        setErrorWriter在接口 ScriptContext
        参数
        writer - Writer
      • getBindings

        public Bindings getBindings​(int scope)
        如果指定范围是ENGINE_SCOPE则返回engineScope字段的值。 如果指定的范围是GLOBAL_SCOPE则返回globalScope字段的值。
        Specified by:
        getBindings在接口 ScriptContext
        参数
        scope - 指定的范围
        结果
        值为 engineScopeglobalScope字段。
        异常
        IllegalArgumentException - 如果范围的值无效。
      • getScopes

        public List<Integer> getScopes​()
        返回不可变的 List的ScriptContext中范围的所有有效值。
        Specified by:
        getScopes在接口 ScriptContext
        结果
        范围值列表