public class ScriptEngineManager extends Object
ScriptEngineManager
实现了一个发现和实例化机制ScriptEngine
类和还保持存储由所有Manager创建的引擎所共享的状态键/值对的集合。
该类使用service provider机制枚举ScriptEngineFactory的所有ScriptEngineFactory
。
ScriptEngineManager
提供了一种返回所有这些工厂的列表的方法以及在语言名称,文件扩展名和MIME类型的基础上查找工厂的实用方法。
该Bindings
键/值对的,被称为“全球范围”由管理器维护可用于的所有实例ScriptEngine
由创建ScriptEngineManager
。 Bindings
中的值通常在所有脚本中公开。
Constructor and Description |
---|
ScriptEngineManager()
调用此构造方法的效果是一样的呼叫
ScriptEngineManager(Thread.currentThread().getContextClassLoader()) 。
|
ScriptEngineManager(ClassLoader loader)
这个构造函数加载的实现 ScriptEngineFactory 可见给定ClassLoader 使用service provider机制。
如果装载器为 null , null 加载与平台捆绑并位于常规扩展目录(已安装扩展)中的脚本引擎工厂。
|
Modifier and Type | Method and Description |
---|---|
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
Bindings 在
globalScope 字段中。
|
public ScriptEngineManager()
ScriptEngineManager(Thread.currentThread().getContextClassLoader())
。
public ScriptEngineManager(ClassLoader loader)
ScriptEngineFactory
可见给定ClassLoader
使用service provider机制。
null
, null
加载与平台捆绑在一起的扩展目录(已安装扩展名)中的脚本引擎工厂。
loader
- ClassLoader用于发现脚本引擎工厂。
public void setBindings(Bindings bindings)
setBindings
将指定的Bindings Bindings
在globalScope
字段中。
ScriptEngineManager将此Bindings
为全球绑定ScriptEngine
由它创建的对象。
bindings
- 指定的
Bindings
IllegalArgumentException
- 如果绑定为空。
public Bindings getBindings()
getBindings
返回globalScope
字段的值。
ScriptEngineManager将此Bindings
为全球绑定ScriptEngine
由它创建的对象。
public void put(String key, Object value)
key
- 钥匙设定
value
- 要设置的值。
NullPointerException
- 如果键为空。
IllegalArgumentException
- 如果键为空字符串。
public ScriptEngine getEngineByName(String shortName)
ScriptEngine
。
该算法的第一搜索ScriptEngineFactory
已被注册为使用指定名称的处理程序registerEngineName
方法。
ScriptEngineFactory
函数存储的一组具有指定名称的一组ScriptEngineFactory实例。
如果通过任一方法找到ScriptEngineFactory
,则用于创建ScriptEngine
实例。
shortName
- ScriptEngine
简称。
由getNames
方法归还其ScriptEngineFactory
。
ScriptEngine
由工厂创建位于搜索。
如果没有找到这样的工厂,则返回null。
ScriptEngineManager
设置自己的globalScope
Bindings
作为GLOBAL_SCOPE
Bindings
的新创建的ScriptEngine
。
NullPointerException
- 如果shortName为null。
public ScriptEngine getEngineByExtension(String extension)
ScriptEngine
一个给定扩展。
所使用的算法getEngineByName
用于不同的是搜索通过寻找一个开始ScriptEngineFactory
注册为处理使用给定的扩展registerEngineExtension
。
extension
- 给定的扩展名
null
。
NullPointerException
- 如果扩展名为null。
public ScriptEngine getEngineByMimeType(String mimeType)
ScriptEngine
。
使用getEngineByName使用的getEngineByName
,除了通过寻找一个ScriptEngineFactory
注册以处理给定的MIME类型( registerEngineMimeType
。
mimeType
- 给定的MIME类型
null
。
NullPointerException
- 如果mimeType为空。
public List<ScriptEngineFactory> getEngineFactories()
ScriptEngineFactory
类的实例。
ScriptEngineFactory
s。
public void registerEngineName(String name, ScriptEngineFactory factory)
ScriptEngineFactory
来处理一个语言名称。
覆盖使用发现机制找到的任何此类关联。
name
- 要与
ScriptEngineFactory
的名称。
factory
- 与给定名称相关
factory
的类。
NullPointerException
- 如果任何参数为空。
public void registerEngineMimeType(String type, ScriptEngineFactory factory)
ScriptEngineFactory
处理一个mime类型。
覆盖使用发现机制找到的任何此类关联。
type
- MIME类型来与相关联
ScriptEngineFactory
。
factory
- 与给定的MIME类型相关联的类。
NullPointerException
- 如果任何参数为空。
public void registerEngineExtension(String extension, ScriptEngineFactory factory)
ScriptEngineFactory
来处理扩展。
覆盖使用发现机制找到的任何此类关联。
extension
-扩展型与相关联
ScriptEngineFactory
。
factory
- 与给定扩展名关联的类。
NullPointerException
- 如果任何参数为空。