javax.script.Compilable
public class JexlScriptEngine extends javax.script.AbstractScriptEngine implements javax.script.Compilable
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.
Modifier and Type | Class | Description |
---|---|---|
class |
JexlScriptEngine.JexlScriptObject |
Implements engine and engine context properties for use by JEXL scripts.
|
Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
CONTEXT_KEY |
Reserved key for context (mandated by JSR-223).
|
static java.lang.String |
JEXL_OBJECT_KEY |
Reserved key for JexlScriptObject.
|
Constructor | Description |
---|---|
JexlScriptEngine() |
Default constructor.
|
JexlScriptEngine(javax.script.ScriptEngineFactory factory) |
Create a scripting engine using the supplied factory.
|
Modifier and Type | Method | Description |
---|---|---|
javax.script.CompiledScript |
compile(java.io.Reader script) |
|
javax.script.CompiledScript |
compile(java.lang.String script) |
|
javax.script.Bindings |
createBindings() |
|
java.lang.Object |
eval(java.io.Reader reader,
javax.script.ScriptContext context) |
|
java.lang.Object |
eval(java.lang.String script,
javax.script.ScriptContext context) |
|
javax.script.ScriptEngineFactory |
getFactory() |
public static final java.lang.String CONTEXT_KEY
public static final java.lang.String JEXL_OBJECT_KEY
public JexlScriptEngine()
Only intended for use when not using a factory.
Sets the factory to JexlScriptEngineFactory
.
public JexlScriptEngine(javax.script.ScriptEngineFactory factory)
factory
- the factory which created this instance.java.lang.NullPointerException
- if factory is nullpublic javax.script.Bindings createBindings()
public java.lang.Object eval(java.io.Reader reader, javax.script.ScriptContext context) throws javax.script.ScriptException
javax.script.ScriptException
public java.lang.Object eval(java.lang.String script, javax.script.ScriptContext context) throws javax.script.ScriptException
javax.script.ScriptException
public javax.script.ScriptEngineFactory getFactory()
public javax.script.CompiledScript compile(java.lang.String script) throws javax.script.ScriptException
compile
in interface javax.script.Compilable
javax.script.ScriptException
public javax.script.CompiledScript compile(java.io.Reader script) throws javax.script.ScriptException
compile
in interface javax.script.Compilable
javax.script.ScriptException