- java.lang.Object
- 
- javax.script.AbstractScriptEngine
 
- 
- All Implemented Interfaces:
- ScriptEngine
 - Direct Known Subclasses:
- NashornScriptEngine
 
 public abstract class AbstractScriptEngine extends Object implements ScriptEngine Provides a standard implementation for several of the variants of theevalmethod.
 eval(Reader)eval(String)eval(String, Bindings)eval(Reader, Bindings)
 are implemented using the abstract methods
 eval(Reader,ScriptContext)oreval(String, ScriptContext)
 with aSimpleScriptContext.
 ASimpleScriptContextis used as the defaultScriptContextof theAbstractScriptEngine..- Since:
- 1.6
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected ScriptContextcontextThe defaultScriptContextof thisAbstractScriptEngine.- 
Fields declared in interface javax.script.ScriptEngineARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
 
- 
 - 
Constructor SummaryConstructors Constructor Description AbstractScriptEngine()Creates a new instance of AbstractScriptEngine using aSimpleScriptContextas its defaultScriptContext.AbstractScriptEngine(Bindings n)Creates a new instance using the specifiedBindingsas theENGINE_SCOPEBindingsin the protectedcontextfield.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description Objecteval(Reader reader)eval(Reader)calls the abstracteval(Reader, ScriptContext)passing the value of thecontextfield.Objecteval(Reader reader, Bindings bindings)eval(Reader, Bindings)calls the abstracteval(Reader, ScriptContext)method, passing it aScriptContextwhose Reader, Writers and Bindings for scopes other thatENGINE_SCOPEare identical to those members of the protectedcontextfield.Objecteval(String script)Same aseval(Reader)except that the abstracteval(String, ScriptContext)is used.Objecteval(String script, Bindings bindings)Same aseval(Reader, Bindings)except that the abstracteval(String, ScriptContext)is used.Objectget(String key)Gets the value for the specified key in theENGINE_SCOPEof the protectedcontextfield.BindingsgetBindings(int scope)Returns theBindingswith the specified scope value in the protectedcontextfield.ScriptContextgetContext()Returns the value of the protectedcontextfield.protected ScriptContextgetScriptContext(Bindings nn)Returns aSimpleScriptContext.voidput(String key, Object value)Sets the specified value with the specified key in theENGINE_SCOPEBindingsof the protectedcontextfield.voidsetBindings(Bindings bindings, int scope)Sets theBindingswith the corresponding scope value in thecontextfield.voidsetContext(ScriptContext ctxt)Sets the value of the protectedcontextfield to the specifiedScriptContext.- 
Methods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods declared in interface javax.script.ScriptEnginecreateBindings, eval, eval, getFactory
 
- 
 
- 
- 
- 
Field Detail- 
contextprotected ScriptContext context The defaultScriptContextof thisAbstractScriptEngine.
 
- 
 - 
Constructor Detail- 
AbstractScriptEnginepublic AbstractScriptEngine() Creates a new instance of AbstractScriptEngine using aSimpleScriptContextas its defaultScriptContext.
 - 
AbstractScriptEnginepublic AbstractScriptEngine(Bindings n) Creates a new instance using the specifiedBindingsas theENGINE_SCOPEBindingsin the protectedcontextfield.- Parameters:
- n- The specified- Bindings.
- Throws:
- NullPointerException- if n is null.
 
 
- 
 - 
Method Detail- 
setContextpublic void setContext(ScriptContext ctxt) Sets the value of the protectedcontextfield to the specifiedScriptContext.- Specified by:
- setContextin interface- ScriptEngine
- Parameters:
- ctxt- The specified- ScriptContext.
- Throws:
- NullPointerException- if ctxt is null.
 
 - 
getContextpublic ScriptContext getContext() Returns the value of the protectedcontextfield.- Specified by:
- getContextin interface- ScriptEngine
- Returns:
- The value of the protected contextfield.
 
 - 
getBindingspublic Bindings getBindings(int scope) Returns theBindingswith the specified scope value in the protectedcontextfield.- Specified by:
- getBindingsin interface- ScriptEngine
- Parameters:
- scope- The specified scope
- Returns:
- The corresponding Bindings.
- Throws:
- IllegalArgumentException- if the value of scope is invalid for the type the protected- contextfield.
 
 - 
setBindingspublic void setBindings(Bindings bindings, int scope) Sets theBindingswith the corresponding scope value in thecontextfield.- Specified by:
- setBindingsin interface- ScriptEngine
- Parameters:
- bindings- The specified- Bindings.
- scope- The specified scope.
- Throws:
- IllegalArgumentException- if the value of scope is invalid for the type the- contextfield.
- NullPointerException- if the bindings is null and the scope is- ScriptContext.ENGINE_SCOPE
 
 - 
putpublic void put(String key, Object value) Sets the specified value with the specified key in theENGINE_SCOPEBindingsof the protectedcontextfield.- Specified by:
- putin interface- ScriptEngine
- Parameters:
- key- The specified key.
- value- The specified value.
- Throws:
- NullPointerException- if key is null.
- IllegalArgumentException- if key is empty.
 
 - 
getpublic Object get(String key) Gets the value for the specified key in theENGINE_SCOPEof the protectedcontextfield.- Specified by:
- getin interface- ScriptEngine
- 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.
 
 - 
evalpublic Object eval(Reader reader, Bindings bindings) throws ScriptException eval(Reader, Bindings)calls the abstracteval(Reader, ScriptContext)method, passing it aScriptContextwhose Reader, Writers and Bindings for scopes other thatENGINE_SCOPEare identical to those members of the protectedcontextfield. The specifiedBindingsis used instead of theENGINE_SCOPEBindingsof thecontextfield.- Specified by:
- evalin interface- ScriptEngine
- Parameters:
- reader- A- Readercontaining the source of the script.
- bindings- A- Bindingsto use for the- ENGINE_SCOPEwhile 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.
 
 - 
evalpublic Object eval(String script, Bindings bindings) throws ScriptException Same aseval(Reader, Bindings)except that the abstracteval(String, ScriptContext)is used.- Specified by:
- evalin interface- ScriptEngine
- Parameters:
- script- A- Stringcontaining the source of the script.
- bindings- A- Bindingsto use as the- ENGINE_SCOPEwhile 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.
 
 - 
evalpublic Object eval(Reader reader) throws ScriptException eval(Reader)calls the abstracteval(Reader, ScriptContext)passing the value of thecontextfield.- Specified by:
- evalin interface- ScriptEngine
- Parameters:
- reader- A- Readercontaining 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.
 
 - 
evalpublic Object eval(String script) throws ScriptException Same aseval(Reader)except that the abstracteval(String, ScriptContext)is used.- Specified by:
- evalin interface- ScriptEngine
- Parameters:
- script- A- Stringcontaining the source of the script.
- Returns:
- The return value from eval(String, ScriptContext)
- Throws:
- ScriptException- if an error occurs in script.
- NullPointerException- if any of the parameters is null.
 
 - 
getScriptContextprotected ScriptContext getScriptContext(Bindings nn) Returns aSimpleScriptContext. TheSimpleScriptContext:
 - Uses the specified Bindingsfor itsENGINE_SCOPE
- Uses the Bindingsreturned by the abstractgetGlobalScopemethod as itsGLOBAL_SCOPE
- Uses the Reader and Writer in the default ScriptContextof thisScriptEngine
 
 ASimpleScriptContextreturned by this method is used to implement eval methods using the abstracteval(Reader,Bindings)andeval(String,Bindings)versions.- Parameters:
- nn- Bindings to use for the- ENGINE_SCOPE
- Returns:
- The SimpleScriptContext
 
- Uses the specified 
 
- 
 
-