Package com.googlecode.aviator.script
Class AviatorScriptEngine
- java.lang.Object
-
- javax.script.AbstractScriptEngine
-
- com.googlecode.aviator.script.AviatorScriptEngine
-
- All Implemented Interfaces:
javax.script.Compilable
,javax.script.Invocable
,javax.script.ScriptEngine
public class AviatorScriptEngine extends javax.script.AbstractScriptEngine implements javax.script.Compilable, javax.script.Invocable
Aviator script engine- Version:
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
AviatorScriptEngine.DynamicFunctionInvocationHandler
private class
AviatorScriptEngine.DynamicMethodInvocationHandler
-
Field Summary
Fields Modifier and Type Field Description private boolean
cached
private AviatorEvaluatorInstance
engine
private AviatorScriptEngineFactory
factory
private AviatorScriptEngine.DynamicFunctionInvocationHandler
functionProxyHandler
private static int
KEY_THRESHOLD
static java.lang.ThreadLocal<VarNameGenerator>
TEMP_VAR_GEN
-
Constructor Summary
Constructors Constructor Description AviatorScriptEngine()
AviatorScriptEngine(AviatorScriptEngineFactory factory)
AviatorScriptEngine(javax.script.Bindings n)
-
Method Summary
All Methods Instance Methods Concrete Methods 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()
javax.script.Bindings
createBindings(javax.script.Bindings parent)
java.lang.Object
eval(java.io.Reader reader, javax.script.ScriptContext context)
java.lang.Object
eval(java.lang.String script, javax.script.ScriptContext context)
private java.lang.String
genVar()
java.lang.String
getCachingKey(java.lang.String script)
AviatorEvaluatorInstance
getEngine()
javax.script.ScriptEngineFactory
getFactory()
<T> T
getInterface(java.lang.Class<T> clasz)
<T> T
getInterface(java.lang.Object thiz, java.lang.Class<T> clasz)
java.lang.Object
invokeFunction(java.lang.String name, java.lang.Object... args)
private java.lang.Object
invokeFunction(java.lang.String name, javax.script.Bindings bindings, java.lang.Object... args)
java.lang.Object
invokeMethod(java.lang.Object thiz, java.lang.String name, java.lang.Object... args)
boolean
isCached()
void
setCached(boolean cached)
Setting whether to cache the compiled script, default is true(caching).
-
-
-
Field Detail
-
KEY_THRESHOLD
private static final int KEY_THRESHOLD
- See Also:
- Constant Field Values
-
cached
private boolean cached
-
factory
private final AviatorScriptEngineFactory factory
-
engine
private final AviatorEvaluatorInstance engine
-
TEMP_VAR_GEN
public static final java.lang.ThreadLocal<VarNameGenerator> TEMP_VAR_GEN
-
functionProxyHandler
private final AviatorScriptEngine.DynamicFunctionInvocationHandler functionProxyHandler
-
-
Constructor Detail
-
AviatorScriptEngine
public AviatorScriptEngine()
-
AviatorScriptEngine
public AviatorScriptEngine(javax.script.Bindings n)
-
AviatorScriptEngine
public AviatorScriptEngine(AviatorScriptEngineFactory factory)
-
-
Method Detail
-
invokeMethod
public java.lang.Object invokeMethod(java.lang.Object thiz, java.lang.String name, java.lang.Object... args) throws javax.script.ScriptException, java.lang.NoSuchMethodException
- Specified by:
invokeMethod
in interfacejavax.script.Invocable
- Throws:
javax.script.ScriptException
java.lang.NoSuchMethodException
-
getEngine
public AviatorEvaluatorInstance getEngine()
-
genVar
private java.lang.String genVar()
-
invokeFunction
public java.lang.Object invokeFunction(java.lang.String name, java.lang.Object... args) throws javax.script.ScriptException, java.lang.NoSuchMethodException
- Specified by:
invokeFunction
in interfacejavax.script.Invocable
- Throws:
javax.script.ScriptException
java.lang.NoSuchMethodException
-
invokeFunction
private java.lang.Object invokeFunction(java.lang.String name, javax.script.Bindings bindings, java.lang.Object... args) throws javax.script.ScriptException
- Throws:
javax.script.ScriptException
-
getInterface
public <T> T getInterface(java.lang.Class<T> clasz)
- Specified by:
getInterface
in interfacejavax.script.Invocable
-
getInterface
public <T> T getInterface(java.lang.Object thiz, java.lang.Class<T> clasz)
- Specified by:
getInterface
in interfacejavax.script.Invocable
-
compile
public javax.script.CompiledScript compile(java.lang.String script) throws javax.script.ScriptException
- Specified by:
compile
in interfacejavax.script.Compilable
- Throws:
javax.script.ScriptException
-
getCachingKey
public java.lang.String getCachingKey(java.lang.String script)
-
compile
public javax.script.CompiledScript compile(java.io.Reader script) throws javax.script.ScriptException
- Specified by:
compile
in interfacejavax.script.Compilable
- Throws:
javax.script.ScriptException
-
createBindings
public javax.script.Bindings createBindings(javax.script.Bindings parent)
-
createBindings
public javax.script.Bindings createBindings()
- Specified by:
createBindings
in interfacejavax.script.ScriptEngine
-
eval
public java.lang.Object eval(java.lang.String script, javax.script.ScriptContext context) throws javax.script.ScriptException
- Specified by:
eval
in interfacejavax.script.ScriptEngine
- Throws:
javax.script.ScriptException
-
eval
public java.lang.Object eval(java.io.Reader reader, javax.script.ScriptContext context) throws javax.script.ScriptException
- Specified by:
eval
in interfacejavax.script.ScriptEngine
- Throws:
javax.script.ScriptException
-
getFactory
public javax.script.ScriptEngineFactory getFactory()
- Specified by:
getFactory
in interfacejavax.script.ScriptEngine
-
isCached
public boolean isCached()
-
setCached
public void setCached(boolean cached)
Setting whether to cache the compiled script, default is true(caching).- Parameters:
cached
- true means enable caching.
-
-