接口 | 描述 |
---|---|
Bindings |
键/值对的映射,所有键的键均为
Strings 。
|
Compilable |
ScriptEngines实现的可选接口,其方法将脚本编译为可重复执行的表单,而无需重新编译。
|
Invocable |
由ScriptEngines实现的可选接口,其方法允许在先前执行的脚本中调用过程。
|
ScriptContext |
该接口的实现类用于将脚本引擎与对象(如作用域绑定)连接在托管应用程序中。
|
ScriptEngine |
ScriptEngine 是基本接口,其方法必须在本规范的每个实现中都具有完全的功能。
|
ScriptEngineFactory |
ScriptEngineFactory 用于描述和实例化
ScriptEngines 。
|
类 | 描述 |
---|---|
AbstractScriptEngine |
为
eval 方法的几种变体提供标准实现。
|
CompiledScript |
由存储编译结果的类扩展。
|
ScriptEngineManager |
该
ScriptEngineManager 实现了一个发现和实例化机制
ScriptEngine 类和还保持存储由所有Manager创建的引擎所共享的状态键/值对的集合。
|
SimpleBindings |
一个由
HashMap 或其他一些指定的
Map 支持的绑定的简单
Map 。
|
SimpleScriptContext |
ScriptContext的简单实现。
|
异常 | 描述 |
---|---|
ScriptException |
脚本API的通用
异常 类。
|
脚本API由定义Java TM脚本引擎的接口和类组成,并为Java 应用程序中的使用提供了一个框架。 该API旨在供希望执行在Java应用程序中以脚本语言编写的程序的应用程序员使用。 脚本语言程序通常由应用程序的最终用户提供。
javax.script
包的主要功能区包括
脚本执行 :脚本是用作脚本引擎执行的程序的源的字符串流。 脚本执行使用eval
种的方法ScriptEngine
和方法Invocable
接口。
绑定 :此工具允许将Java对象暴露给脚本程序作为命名变量。 Bindings
和ScriptContext
类用于此目的。
编译 :此功能允许脚本引擎前端生成的中间代码重复存储和执行。 这有利于多次执行相同脚本的应用程序。 这些应用程序可以提高效率,因为引擎的前端只需要对每个脚本执行一次,而不需要在每个脚本执行一次。 请注意,此功能是可选的,脚本引擎可能选择不实现它。 呼叫者需要使用instanceof检查来检查Compilable
接口的可用性 。
调用 :此功能允许重用由脚本引擎前端生成的中间代码。 而编译允许重新执行由中间代码表示的整个脚本,调用功能允许重新执行脚本中的各个过程/方法。 与编译的情况一样,并非所有脚本引擎都需要提供此功能。 来电者必须检查Invocable
的可用性。
脚本引擎发现和元数据 :写入Scripting API的应用程序可能对脚本引擎有特定要求。 有些可能需要特定的脚本语言和/或版本,而其他可能需要特定的实现引擎和/或版本。 脚本引擎以指定的方式打包,以便在运行时可以发现引擎,并查询属性。 引擎发现机制基于Jar文件规范中描述的服务发现机制 。 脚本引擎实现类包装在包含名为META-INF / services / javax.script.ScriptEngineFactory的文本资源的jar文件中。 该资源必须包含在jar文件中打包的每个ScriptEngineFactory
的一行。 ScriptEngineManager
包括getEngineFactories
方法来获取使用此机制发现的所有ScriptEngineFactory
实例。 ScriptEngineFactory
具有查询脚本引擎ScriptEngineFactory
的方法。