- java.lang.Object
-
- javax.script.ScriptEngineManager
-
public class ScriptEngineManager extends Object
ScriptEngineManager为ScriptEngine类实现了一个发现和实例化机制,并且还维护了一组存储由管理器创建的所有引擎共享的状态的键/值对。 这个类使用说明的服务提供商机制ServiceLoader类枚举的所有实现ScriptEngineFactory。
ScriptEngineManager提供了一种返回所有这些工厂的列表的方法以及在语言名称,文件扩展名和MIME类型的基础上查找工厂的实用方法。键/值对的
Bindings,被管理员维护的“全局范围”可用于由ScriptEngine创建的ScriptEngineManager所有实例。Bindings中的值通常在所有脚本中公开。- 从以下版本开始:
- 1.6
-
-
构造方法摘要
构造方法 Constructor 描述 ScriptEngineManager()调用此构造函数的效果与调用ScriptEngineManager(Thread.currentThread().getContextClassLoader())相同。ScriptEngineManager(ClassLoader loader)这个构造函数加载的实现ScriptEngineFactory可见给定ClassLoader,以业务提供机制。
如果装载机为null,则加载与该平台捆绑的脚本引擎工厂。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Objectget(String key)获取全局范围中指定键的值BindingsgetBindings()getBindings返回值为globalScope字段。ScriptEnginegetEngineByExtension(String extension)查找并为给定的扩展程序创建一个ScriptEngine。ScriptEnginegetEngineByMimeType(String mimeType)查找并为给定的MIME类型创建一个ScriptEngine。ScriptEnginegetEngineByName(String shortName)查找并为给定的名称创建一个ScriptEngine。List<ScriptEngineFactory>getEngineFactories()返回一个列表,其元素是发现机制找到的所有ScriptEngineFactory类的实例。voidput(String key, Object value)在全局范围中设置指定的键/值对。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
public ScriptEngineManager(ClassLoader loader)
该构造函数使用服务提供者机制加载ScriptEngineFactory给给定的ClassLoader。
如果装载机是null,则加载与该平台捆绑的脚本引擎工厂。
- 参数
-
loader- ClassLoader用于发现脚本引擎工厂。
-
-
方法详细信息
-
setBindings
public void setBindings(Bindings bindings)
setBindings存储指定Bindings在globalScope领域。 ScriptEngineManager将此Bindings设置为ScriptEngine创建的ScriptEngine对象的全局绑定。- 参数
-
bindings- 指定的Bindings - 异常
-
IllegalArgumentException- 如果绑定为空。
-
getBindings
public Bindings getBindings()
getBindings返回值为globalScope字段。 ScriptEngineManager将此Bindings设置为ScriptEngine创建的ScriptEngine对象的全局绑定。- 结果
- globalScope字段。
-
put
public void put(String key, Object value)
在全局范围中设置指定的键/值对。- 参数
-
key- 设置键 -
value- 要设置的值。 - 异常
-
NullPointerException- 如果键为空。 -
IllegalArgumentException- 如果键为空字符串。
-
getEngineByName
public ScriptEngine getEngineByName(String shortName)
查找并为给定的名称创建一个ScriptEngine。 该算法的第一搜索ScriptEngineFactory已被注册为使用指定名称的处理程序registerEngineName方法。
如果没有找到,则搜索由构造函数存储的一组ScriptEngineFactory实例,其中一个具有指定的名称。 如果通过任一方法找到一个ScriptEngineFactory,则用于创建ScriptEngine实例。- 参数
-
shortName-的的短名称ScriptEngine实施。 由其getNames方法返还其ScriptEngineFactory。 - 结果
-
A
ScriptEngine由工厂创建位于搜索中。 如果没有找到这样的工厂,则返回null。ScriptEngineManager设置自己的globalScopeBindings作为GLOBAL_SCOPEBindings的新创ScriptEngine。 - 异常
-
NullPointerException- 如果shortName为null。
-
getEngineByExtension
public ScriptEngine getEngineByExtension(String extension)
查找并为给定的分机创建一个ScriptEngine。 使用getEngineByName使用的算法,除了搜索开始,通过寻找一个ScriptEngineFactory注册来使用registerEngineExtension处理给定的分机。- 参数
-
extension- 给定的扩展名 - 结果
-
用这种扩展来处理脚本的引擎。
如果没有找到,返回
null。 - 异常
-
NullPointerException- 如果扩展名为null。
-
getEngineByMimeType
public ScriptEngine getEngineByMimeType(String mimeType)
查找并为给定的MIME类型创建一个ScriptEngine。 使用getEngineByName使用的算法,除了搜索开始,通过寻找一个ScriptEngineFactory注册以使用registerEngineMimeType处理给定的MIME类型。- 参数
-
mimeType- 给定的MIME类型 - 结果
-
用这种mime类型处理脚本的引擎。
如果没有找到,返回
null。 - 异常
-
NullPointerException- 如果mimeType为空。
-
getEngineFactories
public List<ScriptEngineFactory> getEngineFactories()
返回一个列表,其元素是发现机制找到的所有ScriptEngineFactory类的实例。- 结果
-
所有已发现的列表
ScriptEngineFactorys。
-
registerEngineName
public void registerEngineName(String name, ScriptEngineFactory factory)
注册一个ScriptEngineFactory来处理一个语言名称。 覆盖使用发现机制找到的任何此类关联。- 参数
-
name- 要与ScriptEngineFactory相关联的ScriptEngineFactory。 -
factory- 与给定名称关联的类。 - 异常
-
NullPointerException- 如果任何参数为空。
-
registerEngineMimeType
public void registerEngineMimeType(String type, ScriptEngineFactory factory)
注册一个ScriptEngineFactory来处理一个MIME类型。 覆盖使用发现机制找到的任何此类关联。- 参数
-
type- 要与ScriptEngineFactory关联的MIME类型。 -
factory- 与给定的MIME类型相关联的类。 - 异常
-
NullPointerException- 如果任何参数为空。
-
registerEngineExtension
public void registerEngineExtension(String extension, ScriptEngineFactory factory)
注册一个ScriptEngineFactory来处理扩展。 覆盖使用发现机制找到的任何此类关联。- 参数
-
extension- 与ScriptEngineFactory关联的扩展类型。 -
factory- 与给定扩展名关联的类。 - 异常
-
NullPointerException- 如果任何参数为空。
-
-