模块  java.scripting
软件包  javax.script

Class ScriptEngineManager


  • public class ScriptEngineManager
    extends Object
    ScriptEngineManager实现了ScriptEngine类的发现和实例化机制,并且还维护了一组键/值对,用于存储由Manager创建的所有引擎共享的状态。 这个类使用说明的服务提供商机制ServiceLoader类枚举的所有实现ScriptEngineFactory

    ScriptEngineManager提供了一种方法,用于返回所有这些工厂的列表以及基于语言名称,文件扩展名和mime类型查找工厂的实用程序方法。

    Bindings键/值对的,被称为“全球范围”由管理器维护可用于的所有实例ScriptEngine由创建ScriptEngineManager Bindings中的值通常在所有脚本中公开。

    从以下版本开始:
    1.6
    • 构造方法详细信息

      • ScriptEngineManager

        public ScriptEngineManager()
        调用此构造函数的效果与调用 ScriptEngineManager(Thread.currentThread().getContextClassLoader())相同。
        另请参见:
        Thread.getContextClassLoader()
      • ScriptEngineManager

        public ScriptEngineManager​(ClassLoader loader)
        此构造函数使用服务提供程序机制加载给定ClassLoader可见的ScriptEngineFactory的实现。

        如果loader是null ,则加载与平台捆绑在一起的脚本引擎工厂。
        参数
        loader - 用于发现脚本引擎工厂的ClassLoader。
    • 方法详细信息

      • setBindings

        public void setBindings​(Bindings bindings)
        setBindings存储指定BindingsglobalScope领域。 ScriptEngineManager将此Bindings设置为ScriptEngine创建的ScriptEngine对象的全局绑定。
        参数
        bindings - 指定的 Bindings
        异常
        IllegalArgumentException - 如果绑定为空。
      • getBindings

        public Bindings getBindings()
        getBindings返回globalScope字段的值。 ScriptEngineManager将此Bindings设置为ScriptEngine创建的ScriptEngine对象的全局绑定。
        结果
        globalScope字段。
      • get

        public Object get​(String key)
        获取全局范围中指定键的值
        参数
        key - 要返回其值的键。
        结果
        指定键的值。
      • getEngineByName

        public ScriptEngine getEngineByName​(String shortName)
        查找并为给定名称创建ScriptEngine 该算法的第一搜索ScriptEngineFactory已被注册为使用指定名称的处理程序registerEngineName方法。

        如果找不到,则会搜索构造函数存储的ScriptEngineFactory实例集,以ScriptEngineFactory具有指定名称的实例。 如果通过任一方法找到ScriptEngineFactory ,则它用于创建ScriptEngine实例。
        参数
        shortName - ScriptEngine实现的ScriptEngine 由其ScriptEngineFactorygetNames方法返回。
        结果
        由工厂创建的ScriptEngine位于搜索中。 如果未找到此类工厂,则返回null。 ScriptEngineManager设置自己的globalScope BindingsGLOBAL_SCOPE Bindings新创建的ScriptEngine
        异常
        NullPointerException - 如果shortName为null。
      • getEngineByExtension

        public ScriptEngine getEngineByExtension​(String extension)
        查找并为给定的扩展创建ScriptEngine 使用getEngineByName使用的算法,不同之处在于搜索开始时查找ScriptEngineFactory注册的ScriptEngineFactory以使用registerEngineExtension处理给定的扩展。
        参数
        extension - 给定的扩展名
        结果
        使用此扩展程序处理脚本的引擎。 如果找不到,则返回null
        异常
        NullPointerException - 如果扩展名为null。
      • getEngineByMimeType

        public ScriptEngine getEngineByMimeType​(String mimeType)
        查找并为给定的mime类型创建ScriptEngine 使用getEngineByName使用的算法,除了通过查找ScriptEngineFactory以使用registerEngineMimeType处理给定的mime类型来开始registerEngineMimeType
        参数
        mimeType - 给定的mime类型
        结果
        使用此mime类型处理脚本的引擎。 如果找不到,则返回null
        异常
        NullPointerException - 如果mimeType为null。
      • getEngineFactories

        public List<ScriptEngineFactory> getEngineFactories()
        返回一个列表,其元素是发现机制找到的所有 ScriptEngineFactory类的实例。
        结果
        所有发现的列表 ScriptEngineFactory s。
      • registerEngineName

        public void registerEngineName​(String name,
                                       ScriptEngineFactory factory)
        注册ScriptEngineFactory以处理语言名称。 覆盖使用Discovery机制找到的任何此类关联。
        参数
        name - 与 ScriptEngineFactory关联的 ScriptEngineFactory
        factory - 与给定名称关联的类。
        异常
        NullPointerException - 如果任何参数为null。
      • registerEngineMimeType

        public void registerEngineMimeType​(String type,
                                           ScriptEngineFactory factory)
        注册ScriptEngineFactory以处理mime类型。 覆盖使用Discovery机制找到的任何此类关联。
        参数
        type - 与 ScriptEngineFactory关联的mime类型。
        factory - 与给定mime类型关联的类。
        异常
        NullPointerException - 如果任何参数为null。
      • registerEngineExtension

        public void registerEngineExtension​(String extension,
                                            ScriptEngineFactory factory)
        注册ScriptEngineFactory以处理扩展。 覆盖使用Discovery机制找到的任何此类关联。
        参数
        extension - 与 ScriptEngineFactory关联的扩展类型。
        factory - 与给定扩展名关联的类。
        异常
        NullPointerException - 如果任何参数为null。