Class JexlScriptEngine
java.lang.Object
javax.script.AbstractScriptEngine
edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.scripting.JexlScriptEngine
- All Implemented Interfaces:
Compilable
,ScriptEngine
Implements the Jexl ScriptEngine for JSF-223.
This implementation gives access to both ENGINE_SCOPE and GLOBAL_SCOPE bindings. When a JEXL script accesses a variable for read or write, this implementation checks first ENGINE and then GLOBAL scope. The first one found is used. If no variable is found, and the JEXL script is writing to a variable, it will be stored in the ENGINE scope.
The implementation also creates the "JEXL" script object as an instance of the
class JexlScriptEngine.JexlScriptObject
for access to utility methods and variables.
- Since:
- 2.0
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Implements engine and engine context properties for use by JEXL scripts. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Reserved key for context (mandated by JSR-223).static final String
Reserved key for JexlScriptObject.Fields inherited from class javax.script.AbstractScriptEngine
context
Fields inherited from interface javax.script.ScriptEngine
ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
-
Constructor Summary
ConstructorDescriptionDefault constructor.JexlScriptEngine
(ScriptEngineFactory factory) Create a scripting engine using the supplied factory. -
Method Summary
Modifier and TypeMethodDescriptioneval
(Reader reader, ScriptContext context) eval
(String script, ScriptContext context) Methods inherited from class javax.script.AbstractScriptEngine
eval, eval, eval, eval, get, getBindings, getContext, getScriptContext, put, setBindings, setContext
-
Field Details
-
CONTEXT_KEY
Reserved key for context (mandated by JSR-223).- See Also:
-
JEXL_OBJECT_KEY
Reserved key for JexlScriptObject.- See Also:
-
-
Constructor Details
-
JexlScriptEngine
public JexlScriptEngine()Default constructor.Only intended for use when not using a factory. Sets the factory to
JexlScriptEngineFactory
. -
JexlScriptEngine
Create a scripting engine using the supplied factory.- Parameters:
factory
- the factory which created this instance.- Throws:
NullPointerException
- if factory is null
-
-
Method Details
-
createBindings
- Specified by:
createBindings
in interfaceScriptEngine
-
eval
- Specified by:
eval
in interfaceScriptEngine
- Throws:
ScriptException
-
eval
- Specified by:
eval
in interfaceScriptEngine
- Throws:
ScriptException
-
getFactory
- Specified by:
getFactory
in interfaceScriptEngine
-
compile
- Specified by:
compile
in interfaceCompilable
- Throws:
ScriptException
-
compile
- Specified by:
compile
in interfaceCompilable
- Throws:
ScriptException
-