- 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 方法 描述 Object
get(String key)
获取全局范围中指定键的值Bindings
getBindings()
getBindings
返回值为globalScope
字段。ScriptEngine
getEngineByExtension(String extension)
查找并为给定的扩展程序创建一个ScriptEngine
。ScriptEngine
getEngineByMimeType(String mimeType)
查找并为给定的MIME类型创建一个ScriptEngine
。ScriptEngine
getEngineByName(String shortName)
查找并为给定的名称创建一个ScriptEngine
。List<ScriptEngineFactory>
getEngineFactories()
返回一个列表,其元素是发现机制找到的所有ScriptEngineFactory
类的实例。void
put(String key, Object value)
在全局范围中设置指定的键/值对。void
registerEngineExtension(String extension, ScriptEngineFactory factory)
注册一个ScriptEngineFactory
来处理扩展。void
registerEngineMimeType(String type, ScriptEngineFactory factory)
注册一个ScriptEngineFactory
来处理一个MIME类型。void
registerEngineName(String name, ScriptEngineFactory factory)
注册一个ScriptEngineFactory
来处理一个语言名称。void
setBindings(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
设置自己的globalScope
Bindings
作为GLOBAL_SCOPE
Bindings
的新创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
类的实例。- 结果
-
所有已发现的列表
ScriptEngineFactory
s。
-
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
- 如果任何参数为空。
-
-