Overview Summary |
Strings
.
ScriptEngine
is the fundamental interface whose methods must be fully functional in every implementation of this specification.
ScriptEngineFactory
is used to describe and instantiate ScriptEngines
.
Exception
class for the Scripting APIs.
DescriptionThe scripting API consists of interfaces and classes that define Java TMJava™ Scripting Engines and provides a framework for their use in Java applications. This API is intended for use by application programmers who wish to execute programs written in scripting languages in their Java applications. The scripting language programs are usually provided by the end-users of the applications.
The main areas of functionality of javax.script
package include
Script execution : Scripts are streams of characters used as sources for programs executed by script engines. Script execution uses eval
methods of ScriptEngine
and methods of the Invocable
interface.
Binding: This facility allows Java objects to be exposed to script programs as named variables. Bindings
and ScriptContext
classes are used for this purpose.
Compilation: This functionality allows the intermediate code generated by the front-end of a script engine to be stored and executed repeatedly. This benefits applications that execute the same script multiple times. These applications can gain efficiency since the engines' front-ends only need to execute once per script rather than once per script execution. Note that this functionality is optional and script engines may choose not to implement it. Callers need to check for availability of the Compilable
interface using an instanceof check.
Invocation: This functionality allows the reuse of intermediate code generated by a script engine's front-end. Whereas Compilation allows entire scripts represented by intermediate code to be re-executed, Invocation functionality allows individual procedures/methods in the scripts to be re-executed. As in the case with compilation, not all script engines are required to provide this facility. Caller has to check for Invocable
availability.
Script engine discovery and Metadata : Applications written to the Scripting API might have specific requirements on script engines. Some may require a specific scripting language and/or version while others may require a specific implementation engine and/or version. Script engines are packaged in a specified way so that engines can be discovered at runtime and queried for attributes. The Engine discovery mechanism is based on the Service discovery mechanismservice-provider loading facility described in the Jar File Specification . Script engine implementing classes are packaged in jar files that include a text resource named META-INF/services/javax.script.ScriptEngineFactory. This resource must include a line for each
class. ScriptEngineFactory
that is packaged in the jar fileServiceLoader ScriptEngineManager
includes getEngineFactories
method to get all ScriptEngineFactory
instances discovered using this mechanism. ScriptEngineFactory
has methods to query attributes about script engine.
Interface | Description |
---|---|
Bindings |
A mapping of key/value pairs, all of whose keys are
Strings .
|
Compilable |
The optional interface implemented by ScriptEngines whose methods compile scripts to a form that can be executed repeatedly without recompilation.
|
Invocable |
The optional interface implemented by ScriptEngines whose methods allow the invocation of procedures in scripts that have previously been executed.
|
ScriptContext |
The interface whose implementing classes are used to connect Script Engines with objects, such as scoped Bindings, in hosting applications.
|
ScriptEngine |
ScriptEngine is the fundamental interface whose methods must be fully functional in every implementation of this specification.
|
ScriptEngineFactory |
ScriptEngineFactory is used to describe and instantiate ScriptEngines .
|
Class | Description |
---|---|
AbstractScriptEngine |
Provides a standard implementation for several of the variants of the
eval method.
|
CompiledScript |
Extended by classes that store results of compilations.
|
ScriptEngineManager |
The
ScriptEngineManager implements a discovery and instantiation mechanism for ScriptEngine classes and also maintains a collection of key/value pairs storing state shared by all engines created by the Manager.
|
SimpleBindings |
A simple implementation of Bindings backed by a
HashMap or some other specified Map .
|
SimpleScriptContext |
Simple implementation of ScriptContext.
|
Exception | Description |
---|---|
ScriptException |
The generic
Exception class for the Scripting APIs.
|
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation . That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 20142017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-ea+159
© 2017 Oracle Corporation and/or its affiliates