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