java.lang.Object
javax.script.ScriptEngineManager
ScriptEngineManager 为 ScriptEngine 类实现了一个发现和实例化机制,并且还维护了一个键/值对集合,用于存储管理器创建的所有引擎共享的状态。该类使用ServiceLoader 类中描述的服务提供者机制来枚举ScriptEngineFactory的所有实现。ScriptEngineManager 提供了一种方法来返回所有这些工厂的列表,以及根据语言名称、文件扩展名和 MIME 类型查找工厂的实用方法。
Bindings 键/值对,称为管理器维护的“全局范围”,可用于 ScriptEngineManager 创建的 ScriptEngine 的所有实例。 Bindings 中的值通常在所有脚本中公开。
- 自从:
- 1.6
-
构造方法总结
构造方法构造方法描述调用此构造函数的效果与调用ScriptEngineManager(Thread.currentThread().getContextClassLoader())相同。ScriptEngineManager(ClassLoader loader) 此构造函数使用服务提供者机制加载对给定的ClassLoader可见的ScriptEngineFactory的实现。
如果 loader 是null,则加载与平台捆绑的脚本引擎工厂。 -
方法总结
修饰符和类型方法描述获取全局范围内指定键的值getBindings返回globalScope字段的值。getEngineByExtension(String extension) 为给定的扩展查找并创建一个ScriptEngine。getEngineByMimeType(String mimeType) 为给定的 MIME 类型查找并创建一个ScriptEngine。getEngineByName(String shortName) 查找并创建一个给定名称的ScriptEngine。返回一个列表,其元素是发现机制找到的所有ScriptEngineFactory类的实例。void在全局范围内设置指定的键/值对。voidregisterEngineExtension(String extension, ScriptEngineFactory factory) 注册一个ScriptEngineFactory来处理扩展。voidregisterEngineMimeType(String type, ScriptEngineFactory factory) 注册一个ScriptEngineFactory来处理 mime 类型。voidregisterEngineName(String name, ScriptEngineFactory factory) 注册一个ScriptEngineFactory来处理语言名称。voidsetBindings(Bindings bindings) setBindings将指定的Bindings存储在globalScope字段中。
-
构造方法详细信息
-
ScriptEngineManager
public ScriptEngineManager()调用此构造函数的效果与调用ScriptEngineManager(Thread.currentThread().getContextClassLoader())相同。- 参见:
-
ScriptEngineManager
此构造函数使用服务提供者机制加载对给定的ClassLoader可见的ScriptEngineFactory的实现。
如果 loader 是null,则加载与平台捆绑的脚本引擎工厂。
- 参数:
loader- 用于发现脚本引擎工厂的类加载器。
-
-
方法详情
-
setBindings
setBindings将指定的Bindings存储在globalScope字段中。 ScriptEngineManager 将此Bindings设置为其创建的ScriptEngine对象的全局绑定。- 参数:
bindings- 指定的Bindings- 抛出:
IllegalArgumentException- 如果绑定为空。
-
getBindings
getBindings返回globalScope字段的值。 ScriptEngineManager 将此Bindings设置为其创建的ScriptEngine对象的全局绑定。- 返回:
- 全局范围字段。
-
put
在全局范围内设置指定的键/值对。- 参数:
key- 设置键value- 要设置的值。- 抛出:
NullPointerException- 如果键为空。IllegalArgumentException- 如果键为空字符串。
-
get
获取全局范围内指定键的值- 参数:
key- 要返回其值的键。- 返回:
- 指定键的值。
-
getEngineByName
查找并创建一个给定名称的ScriptEngine。该算法首先使用registerEngineName方法搜索已注册为指定名称的处理程序的ScriptEngineFactory。
如果找不到,它会在构造函数存储的一组ScriptEngineFactory实例中搜索具有指定名称的实例。如果通过任一方法找到ScriptEngineFactory,则使用它来创建ScriptEngine的实例。- 参数:
shortName-ScriptEngine实现的简称。由其ScriptEngineFactory的getNames方法返回。- 返回:
-
A
ScriptEngine由位于搜索中的工厂创建。如果找不到这样的工厂,则返回 null。ScriptEngineManager将自己的globalScopeBindings设置为新创建的ScriptEngine的GLOBAL_SCOPEBindings。 - 抛出:
NullPointerException- 如果 shortName 为空。
-
getEngineByExtension
为给定的扩展查找并创建一个ScriptEngine。使用getEngineByName使用的算法,除了搜索开始于寻找ScriptEngineFactory注册以使用registerEngineExtension处理给定扩展。- 参数:
extension- 给定的扩展名- 返回:
-
处理带有此扩展的脚本的引擎。如果未找到,则返回
null。 - 抛出:
NullPointerException- 如果扩展名为空。
-
getEngineByMimeType
为给定的 MIME 类型查找并创建一个ScriptEngine。使用getEngineByName使用的算法,除了搜索开始于寻找ScriptEngineFactory注册以使用registerEngineMimeType处理给定的 mime 类型。- 参数:
mimeType- 给定的 mime 类型- 返回:
-
处理具有此 MIME 类型的脚本的引擎。如果未找到,则返回
null。 - 抛出:
NullPointerException- 如果 mimeType 为空。
-
getEngineFactories
返回一个列表,其元素是发现机制找到的所有ScriptEngineFactory类的实例。- 返回:
-
所有发现的
ScriptEngineFactory的列表。
-
registerEngineName
注册一个ScriptEngineFactory来处理语言名称。覆盖使用发现机制发现的任何此类关联。- 参数:
name- 要与ScriptEngineFactory关联的名称。factory- 与给定名称关联的类。- 抛出:
NullPointerException- 如果任何参数为空。
-
registerEngineMimeType
注册一个ScriptEngineFactory来处理 mime 类型。覆盖使用发现机制发现的任何此类关联。- 参数:
type- 与ScriptEngineFactory关联的 mime 类型。factory- 与给定 MIME 类型关联的类。- 抛出:
NullPointerException- 如果任何参数为空。
-
registerEngineExtension
注册一个ScriptEngineFactory来处理扩展。覆盖使用发现机制发现的任何此类关联。- 参数:
extension- 与ScriptEngineFactory关联的扩展类型。factory- 与给定扩展关联的类。- 抛出:
NullPointerException- 如果任何参数为空。
-