public abstract class

AbstractScriptEngine

extends Object
implements ScriptEngine
java.lang.Object
   ↳ javax.script.AbstractScriptEngine
Known Direct Subclasses

Class Overview

Provides a standard implementation for several of the variants of the eval method.

eval(Reader)

eval(String)

eval(String, Bindings)

eval(Reader, Bindings)

are implemented using the abstract methods

eval(Reader,ScriptContext) or eval(String, ScriptContext)

with a SimpleScriptContext.

A SimpleScriptContext is used as the default ScriptContext of the AbstractScriptEngine..

Summary

[Expand]
Inherited Constants
From interface javax.script.ScriptEngine
Fields
protected ScriptContext context The default ScriptContext of this AbstractScriptEngine.
Public Constructors
AbstractScriptEngine()
Creates a new instance of AbstractScriptEngine using a SimpleScriptContext as its default ScriptContext.
AbstractScriptEngine(Bindings n)
Creates a new instance using the specified Bindings as the ENGINE_SCOPE Bindings in the protected context field.
Public Methods
Object eval(Reader reader)
eval(Reader) calls the abstract eval(Reader, ScriptContext) passing the value of the context field.
Object eval(String script)
Same as eval(Reader) except that the abstract eval(String, ScriptContext) is used.
Object eval(String script, Bindings bindings)
Same as eval(Reader, Bindings) except that the abstract eval(String, ScriptContext) is used.
Object eval(Reader reader, Bindings bindings)
eval(Reader, Bindings) calls the abstract eval(Reader, ScriptContext) method, passing it a ScriptContext whose Reader, Writers and Bindings for scopes other that ENGINE_SCOPE are identical to those members of the protected context field.
Object get(String key)
Gets the value for the specified key in the ENGINE_SCOPE of the protected context field.
Bindings getBindings(int scope)
Returns the Bindings with the specified scope value in the protected context field.
ScriptContext getContext()
Returns the value of the protected context field.
void put(String key, Object value)
Sets the specified value with the specified key in the ENGINE_SCOPE Bindings of the protected context field.
void setBindings(Bindings bindings, int scope)
Sets the Bindings with the corresponding scope value in the context field.
void setContext(ScriptContext ctxt)
Sets the value of the protected context field to the specified ScriptContext.
Protected Methods
ScriptContext getScriptContext(Bindings nn)
Returns a SimpleScriptContext.
[Expand]
Inherited Methods
From class java.lang.Object
From interface javax.script.ScriptEngine

Fields

protected ScriptContext context

The default ScriptContext of this AbstractScriptEngine.

Public Constructors

public AbstractScriptEngine ()

Creates a new instance of AbstractScriptEngine using a SimpleScriptContext as its default ScriptContext.

public AbstractScriptEngine (Bindings n)

Creates a new instance using the specified Bindings as the ENGINE_SCOPE Bindings in the protected context field.

Parameters
n The specified Bindings.
Throws
NullPointerException if n is null.

Public Methods

public Object eval (Reader reader)

eval(Reader) calls the abstract eval(Reader, ScriptContext) passing the value of the context field.

Parameters
reader A Reader containing the source of the script.
Returns
  • The return value from eval(Reader, ScriptContext)
Throws
ScriptException if an error occurs in script.
NullPointerException if any of the parameters is null.

public Object eval (String script)

Same as eval(Reader) except that the abstract eval(String, ScriptContext) is used.

Parameters
script A String containing the source of the script.
Returns
  • The return value from eval(String, ScriptContext)
Throws
ScriptException if an error occurrs in script.
NullPointerException if any of the parameters is null.

public Object eval (String script, Bindings bindings)

Same as eval(Reader, Bindings) except that the abstract eval(String, ScriptContext) is used.

Parameters
script A String containing the source of the script.
bindings A Bindings to use as the ENGINE_SCOPE while the script executes.
Returns
  • The return value from eval(String, ScriptContext)
Throws
ScriptException if an error occurs in script.
NullPointerException if any of the parameters is null.

public Object eval (Reader reader, Bindings bindings)

eval(Reader, Bindings) calls the abstract eval(Reader, ScriptContext) method, passing it a ScriptContext whose Reader, Writers and Bindings for scopes other that ENGINE_SCOPE are identical to those members of the protected context field. The specified Bindings is used instead of the ENGINE_SCOPE Bindings of the context field.

Parameters
reader A Reader containing the source of the script.
bindings A Bindings to use for the ENGINE_SCOPE while the script executes.
Returns
  • The return value from eval(Reader, ScriptContext)
Throws
ScriptException if an error occurs in script.
NullPointerException if any of the parameters is null.

public Object get (String key)

Gets the value for the specified key in the ENGINE_SCOPE of the protected context field.

Parameters
key The key whose value is to be returned
Returns
  • The value for the specified key.
Throws
NullPointerException if key is null.
IllegalArgumentException if key is empty.

public Bindings getBindings (int scope)

Returns the Bindings with the specified scope value in the protected context field.

Parameters
scope The specified scope
Returns
  • The corresponding Bindings.
Throws
IllegalArgumentException if the value of scope is invalid for the type the protected context field.

public ScriptContext getContext ()

Returns the value of the protected context field.

Returns
  • The value of the protected context field.

public void put (String key, Object value)

Sets the specified value with the specified key in the ENGINE_SCOPE Bindings of the protected context field.

Parameters
key The specified key.
value The specified value.
Throws
NullPointerException if key is null.
IllegalArgumentException if key is empty.

public void setBindings (Bindings bindings, int scope)

Sets the Bindings with the corresponding scope value in the context field.

Parameters
bindings The specified Bindings.
scope The specified scope.
Throws
IllegalArgumentException if the value of scope is invalid for the type the context field.
NullPointerException if the bindings is null and the scope is ScriptContext.ENGINE_SCOPE

public void setContext (ScriptContext ctxt)

Sets the value of the protected context field to the specified ScriptContext.

Parameters
ctxt The specified ScriptContext.
Throws
NullPointerException if ctxt is null.

Protected Methods

protected ScriptContext getScriptContext (Bindings nn)

Returns a SimpleScriptContext. The SimpleScriptContext:

  • Uses the specified Bindings for its ENGINE_SCOPE
  • Uses the Bindings returned by the abstract getGlobalScope method as its GLOBAL_SCOPE
  • Uses the Reader and Writer in the default ScriptContext of this ScriptEngine


A SimpleScriptContext returned by this method is used to implement eval methods using the abstract eval(Reader,Bindings) and eval(String,Bindings) versions.

Parameters
nn Bindings to use for the ENGINE_SCOPE
Returns
  • The SimpleScriptContext