请参见:
描述
接口摘要 | |
---|---|
Bindings | 所有键均为 String 的键/值对映射关系。 |
Compilable | 由 ScriptEngines 实现的可选接口,该 ScriptEngines 的方法将脚本编译成无需重新编译就能反复执行的某种形式。 |
Invocable | 由 ScriptEngines 实现的可选接口,该 ScriptEngines 的方法允许在以前执行过的脚本中调用程序。 |
ScriptContext | 该接口的实现类被用来连接 Script Engines 和宿主应用程序中的对象(如有范围的 Bindings)。 |
ScriptEngine | ScriptEngine 是基础接口,该接口的方法在此规范的每个实现中都必须具有完整的功能。 |
ScriptEngineFactory | ScriptEngineFactory 用来描述和实例化 ScriptEngine 。 |
类摘要 | |
---|---|
AbstractScriptEngine | 为几个 eval 方法的变体提供标准实现。 |
CompiledScript | 存储编译结果的类扩展自此类。 |
ScriptEngineManager | ScriptEngineManager 为 ScriptEngine 类实现一个发现和实例化机制,还维护一个键/值对集合来存储所有 Manager 创建的引擎所共享的状态。 |
SimpleBindings | 一个受 HashMap 或其他某些指定 Map 支持的 Bindings 的简单实现。 |
SimpleScriptContext | ScriptContext 的简单实现。 |
异常摘要 | |
---|---|
ScriptException | 脚本 API 的一般 Exception 类。 |
脚本 API 由定义 Java TM Scripting Engines 的接口和类组成,并为它们在 Java 应用程序中的使用提供框架。此 API 供那些希望在其 Java 应用程序中执行用脚本语言编写的程序的应用程序编程人员使用。脚本语言程序通常由应用程序的终端用户提供。
javax.script
包的主要功能有:
脚本执行:脚本是用作脚本引擎所执行程序的源的字符流。脚本执行使用 ScriptEngine
的 eval
方法和 Invocable
接口的方法。
绑定:此功能允许将 Java 对象作为指定变量公开给脚本程序。Bindings
和 ScriptContext
类用于此目的。
编译:此功能允许反复存储和执行脚本引擎前端所生成的中间代码。这有利于多次执行相同脚本的应用程序。引擎的前端只需要对每个脚本执行一次,而不是每次脚本执行都执行一次,因此这些应用程序可以获得高效率。注意,此功能是可选的,脚本引擎可以选择不实现它。调用者需要使用 instanceof 来检查 Compilable
接口的可用性。
调用:此功能允许重用脚本引擎前端所生成的中间代码。编译功能允许重执行中间代码所表示的整个脚本,而调用功能允许重执行脚本中的个别程序/方法。因为对于编译而言,并非所有的脚本引擎都需要提供此功能。调用者必须检查 Invocable
的可用性。
脚本引擎发现和元数据:为脚本 API 编写的应用程序可能对脚本引擎有特定的要求。一些可能需要特定的脚本语言和/或版本,而另一些可能需要特定的实现引擎和/或版本。脚本引擎是以指定方式打包的,从而可以在运行时被发现,并可以查询属性。Engine 发现机制基于 Jar 文件规范中描述的 Service 发现机制。脚本引擎实现类打包在 jar 文件中,这些文件包含一个名为 META-INF/services/javax.script.ScriptEngineFactory 的文本资源。此资源必须为打包在 jar 文件中的每个 ScriptEngineFactory
包含一个行。ScriptEngineManager
包括 getEngineFactories
方法,该方法用于获取所有使用此机制发现的 ScriptEngineFactory
实例。ScriptEngineFactory
拥有用于查询关于脚本引擎的属性的方法。