- 
- All Known Implementing Classes:
- AbstractScriptEngine,- NashornScriptEngine
 
 public interface ScriptEngineScriptEngineis the fundamental interface whose methods must be fully functional in every implementation of this specification.
 These methods provide basic scripting functionality. Applications written to this simple interface are expected to work with minimal modifications in every implementation. It includes methods that execute scripts, and ones that set and get values.
 The values are key/value pairs of two types. The first type of pairs consists of those whose keys are reserved and defined in this specification or by individual implementations. The values in the pairs with reserved keys have specified meanings.
 The other type of pairs consists of those that create Java language Bindings, the values are usually represented in scripts by the corresponding keys or by decorated forms of them.- Since:
- 1.6
 
- 
- 
Field SummaryFields Modifier and Type Field Description static StringARGVReserved key for a named value that passes an array of positional arguments to a script.static StringENGINEReserved key for a named value that is the name of theScriptEngineimplementation.static StringENGINE_VERSIONReserved key for a named value that identifies the version of theScriptEngineimplementation.static StringFILENAMEReserved key for a named value that is the name of the file being executed.static StringLANGUAGEReserved key for a named value that is the full name of Scripting Language supported by the implementation.static StringLANGUAGE_VERSIONReserved key for the named value that identifies the version of the scripting language supported by the implementation.static StringNAMEReserved key for a named value that identifies the short name of the scripting language.
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description BindingscreateBindings()Returns an uninitializedBindings.Objecteval(Reader reader)Same aseval(String)except that the source of the script is provided as aReaderObjecteval(Reader reader, Bindings n)Same aseval(String, Bindings)except that the source of the script is provided as aReader.Objecteval(Reader reader, ScriptContext context)Same aseval(String, ScriptContext)where the source of the script is read from aReader.Objecteval(String script)Executes the specified script.Objecteval(String script, Bindings n)Executes the script using theBindingsargument as theENGINE_SCOPEBindingsof theScriptEngineduring the script execution.Objecteval(String script, ScriptContext context)Causes the immediate execution of the script whose source is the String passed as the first argument.Objectget(String key)Retrieves a value set in the state of this engine.BindingsgetBindings(int scope)Returns a scope of named values.ScriptContextgetContext()Returns the defaultScriptContextof theScriptEnginewhose Bindings, Reader and Writers are used for script executions when noScriptContextis specified.ScriptEngineFactorygetFactory()Returns aScriptEngineFactoryfor the class to which thisScriptEnginebelongs.voidput(String key, Object value)Sets a key/value pair in the state of the ScriptEngine that may either create a Java Language Binding to be used in the execution of scripts or be used in some other way, depending on whether the key is reserved.voidsetBindings(Bindings bindings, int scope)Sets a scope of named values to be used by scripts.voidsetContext(ScriptContext context)Sets the defaultScriptContextof theScriptEnginewhose Bindings, Reader and Writers are used for script executions when noScriptContextis specified.
 
- 
- 
- 
Field Detail- 
ARGVstatic final String ARGV Reserved key for a named value that passes an array of positional arguments to a script.- See Also:
- Constant Field Values
 
 - 
FILENAMEstatic final String FILENAME Reserved key for a named value that is the name of the file being executed.- See Also:
- Constant Field Values
 
 - 
ENGINEstatic final String ENGINE Reserved key for a named value that is the name of theScriptEngineimplementation.- See Also:
- Constant Field Values
 
 - 
ENGINE_VERSIONstatic final String ENGINE_VERSION Reserved key for a named value that identifies the version of theScriptEngineimplementation.- See Also:
- Constant Field Values
 
 - 
NAMEstatic final String NAME Reserved key for a named value that identifies the short name of the scripting language. The name is used by theScriptEngineManagerto locate aScriptEnginewith a given name in thegetEngineByNamemethod.- See Also:
- Constant Field Values
 
 - 
LANGUAGEstatic final String LANGUAGE Reserved key for a named value that is the full name of Scripting Language supported by the implementation.- See Also:
- Constant Field Values
 
 - 
LANGUAGE_VERSIONstatic final String LANGUAGE_VERSION Reserved key for the named value that identifies the version of the scripting language supported by the implementation.- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
evalObject eval(String script, ScriptContext context) throws ScriptException Causes the immediate execution of the script whose source is the String passed as the first argument. The script may be reparsed or recompiled before execution. State left in the engine from previous executions, including variable values and compiled procedures may be visible during this execution.- Parameters:
- script- The script to be executed by the script engine.
- context- A- ScriptContextexposing sets of attributes in different scopes. The meanings of the scopes- ScriptContext.GLOBAL_SCOPE, and- ScriptContext.ENGINE_SCOPEare defined in the specification.
 The- ENGINE_SCOPE- Bindingsof the- ScriptContextcontains the bindings of scripting variables to application objects to be used during this script execution.
- Returns:
- The value returned from the execution of the script.
- Throws:
- ScriptException- if an error occurs in script. ScriptEngines should create and throw- ScriptExceptionwrappers for checked Exceptions thrown by underlying scripting implementations.
- NullPointerException- if either argument is null.
 
 - 
evalObject eval(Reader reader, ScriptContext context) throws ScriptException Same aseval(String, ScriptContext)where the source of the script is read from aReader.- Parameters:
- reader- The source of the script to be executed by the script engine.
- context- The- ScriptContextpassed to the script engine.
- Returns:
- The value returned from the execution of the script.
- Throws:
- ScriptException- if an error occurs in script. ScriptEngines should create and throw- ScriptExceptionwrappers for checked Exceptions thrown by underlying scripting implementations.
- NullPointerException- if either argument is null.
 
 - 
evalObject eval(String script) throws ScriptException Executes the specified script. The defaultScriptContextfor theScriptEngineis used.- Parameters:
- script- The script language source to be executed.
- Returns:
- The value returned from the execution of the script.
- Throws:
- ScriptException- if an error occurs in script. ScriptEngines should create and throw- ScriptExceptionwrappers for checked Exceptions thrown by underlying scripting implementations.
- NullPointerException- if the argument is null.
 
 - 
evalObject eval(Reader reader) throws ScriptException Same aseval(String)except that the source of the script is provided as aReader- Parameters:
- reader- The source of the script.
- Returns:
- The value returned by the script.
- Throws:
- ScriptException- if an error occurs in script. ScriptEngines should create and throw- ScriptExceptionwrappers for checked Exceptions thrown by underlying scripting implementations.
- NullPointerException- if the argument is null.
 
 - 
evalObject eval(String script, Bindings n) throws ScriptException Executes the script using theBindingsargument as theENGINE_SCOPEBindingsof theScriptEngineduring the script execution. TheReader,Writerand non-ENGINE_SCOPEBindingsof the defaultScriptContextare used. TheENGINE_SCOPEBindingsof theScriptEngineis not changed, and its mappings are unaltered by the script execution.- Parameters:
- script- The source for the script.
- n- The- Bindingsof attributes to be used for script execution.
- Returns:
- The value returned by the script.
- Throws:
- ScriptException- if an error occurs in script. ScriptEngines should create and throw- ScriptExceptionwrappers for checked Exceptions thrown by underlying scripting implementations.
- NullPointerException- if either argument is null.
 
 - 
evalObject eval(Reader reader, Bindings n) throws ScriptException Same aseval(String, Bindings)except that the source of the script is provided as aReader.- Parameters:
- reader- The source of the script.
- n- The- Bindingsof attributes.
- Returns:
- The value returned by the script.
- Throws:
- ScriptException- if an error occurs in script. ScriptEngines should create and throw- ScriptExceptionwrappers for checked Exceptions thrown by underlying scripting implementations.
- NullPointerException- if either argument is null.
 
 - 
putvoid put(String key, Object value) Sets a key/value pair in the state of the ScriptEngine that may either create a Java Language Binding to be used in the execution of scripts or be used in some other way, depending on whether the key is reserved. Must have the same effect asgetBindings(ScriptContext.ENGINE_SCOPE).put.- Parameters:
- key- The name of named value to add
- value- The value of named value to add.
- Throws:
- NullPointerException- if key is null.
- IllegalArgumentException- if key is empty.
 
 - 
getObject get(String key) Retrieves a value set in the state of this engine. The value might be one which was set usingsetValueor some other value in the state of theScriptEngine, depending on the implementation. Must have the same effect asgetBindings(ScriptContext.ENGINE_SCOPE).get- Parameters:
- key- The key whose value is to be returned
- Returns:
- the value for the given key
- Throws:
- NullPointerException- if key is null.
- IllegalArgumentException- if key is empty.
 
 - 
getBindingsBindings getBindings(int scope) Returns a scope of named values. The possible scopes are:
 - ScriptContext.GLOBAL_SCOPE- The set of named values representing global scope. If this- ScriptEngineis created by a- ScriptEngineManager, then the manager sets global scope bindings. This may be- nullif no global scope is associated with this- ScriptEngine
- ScriptContext.ENGINE_SCOPE- The set of named values representing the state of this- ScriptEngine. The values are generally visible in scripts using the associated keys as variable names.
- Any other value of scope defined in the default ScriptContextof theScriptEngine.
 
 TheBindingsinstances that are returned must be identical to those returned by thegetBindingsmethod ofScriptContextcalled with corresponding arguments on the defaultScriptContextof theScriptEngine.- Parameters:
- scope- Either- ScriptContext.ENGINE_SCOPEor- ScriptContext.GLOBAL_SCOPEwhich specifies the- Bindingsto return. Implementations of- ScriptContextmay define additional scopes. If the default- ScriptContextof the- ScriptEnginedefines additional scopes, any of them can be passed to get the corresponding- Bindings.
- Returns:
- The Bindingswith the specified scope.
- Throws:
- IllegalArgumentException- if specified scope is invalid
 
 - 
setBindingsvoid setBindings(Bindings bindings, int scope) Sets a scope of named values to be used by scripts. The possible scopes are:
 - ScriptContext.ENGINE_SCOPE- The specified- Bindingsreplaces the engine scope of the- ScriptEngine.
- ScriptContext.GLOBAL_SCOPE- The specified- Bindingsmust be visible as the- GLOBAL_SCOPE.
- Any other value of scope defined in the default ScriptContextof theScriptEngine.
 
 The method must have the same effect as calling thesetBindingsmethod ofScriptContextwith the corresponding value ofscopeon the defaultScriptContextof theScriptEngine.- Parameters:
- bindings- The- Bindingsfor the specified scope.
- scope- The specified scope. Either- ScriptContext.ENGINE_SCOPE,- ScriptContext.GLOBAL_SCOPE, or any other valid value of scope.
- Throws:
- IllegalArgumentException- if the scope is invalid
- NullPointerException- if the bindings is null and the scope is- ScriptContext.ENGINE_SCOPE
 
 - 
createBindingsBindings createBindings() Returns an uninitializedBindings.- Returns:
- A Bindingsthat can be used to replace the state of thisScriptEngine.
 
 - 
getContextScriptContext getContext() Returns the defaultScriptContextof theScriptEnginewhose Bindings, Reader and Writers are used for script executions when noScriptContextis specified.- Returns:
- The default ScriptContextof theScriptEngine.
 
 - 
setContextvoid setContext(ScriptContext context) Sets the defaultScriptContextof theScriptEnginewhose Bindings, Reader and Writers are used for script executions when noScriptContextis specified.- Parameters:
- context- A- ScriptContextthat will replace the default- ScriptContextin the- ScriptEngine.
- Throws:
- NullPointerException- if context is null.
 
 - 
getFactoryScriptEngineFactory getFactory() Returns aScriptEngineFactoryfor the class to which thisScriptEnginebelongs.- Returns:
- The ScriptEngineFactory
 
 
- 
 
-