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.InvocableAviator script engine- Version:
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classAviatorScriptEngine.DynamicFunctionInvocationHandlerprivate classAviatorScriptEngine.DynamicMethodInvocationHandler
-
Field Summary
Fields Modifier and Type Field Description private booleancachedprivate AviatorEvaluatorInstanceengineprivate AviatorScriptEngineFactoryfactoryprivate AviatorScriptEngine.DynamicFunctionInvocationHandlerfunctionProxyHandlerprivate static intKEY_THRESHOLDstatic 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.CompiledScriptcompile(java.io.Reader script)javax.script.CompiledScriptcompile(java.lang.String script)javax.script.BindingscreateBindings()javax.script.BindingscreateBindings(javax.script.Bindings parent)java.lang.Objecteval(java.io.Reader reader, javax.script.ScriptContext context)java.lang.Objecteval(java.lang.String script, javax.script.ScriptContext context)private java.lang.StringgenVar()java.lang.StringgetCachingKey(java.lang.String script)AviatorEvaluatorInstancegetEngine()javax.script.ScriptEngineFactorygetFactory()<T> TgetInterface(java.lang.Class<T> clasz)<T> TgetInterface(java.lang.Object thiz, java.lang.Class<T> clasz)java.lang.ObjectinvokeFunction(java.lang.String name, java.lang.Object... args)private java.lang.ObjectinvokeFunction(java.lang.String name, javax.script.Bindings bindings, java.lang.Object... args)java.lang.ObjectinvokeMethod(java.lang.Object thiz, java.lang.String name, java.lang.Object... args)booleanisCached()voidsetCached(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:
invokeMethodin interfacejavax.script.Invocable- Throws:
javax.script.ScriptExceptionjava.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:
invokeFunctionin interfacejavax.script.Invocable- Throws:
javax.script.ScriptExceptionjava.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:
getInterfacein interfacejavax.script.Invocable
-
getInterface
public <T> T getInterface(java.lang.Object thiz, java.lang.Class<T> clasz)- Specified by:
getInterfacein interfacejavax.script.Invocable
-
compile
public javax.script.CompiledScript compile(java.lang.String script) throws javax.script.ScriptException- Specified by:
compilein 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:
compilein 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:
createBindingsin interfacejavax.script.ScriptEngine
-
eval
public java.lang.Object eval(java.lang.String script, javax.script.ScriptContext context) throws javax.script.ScriptException- Specified by:
evalin 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:
evalin interfacejavax.script.ScriptEngine- Throws:
javax.script.ScriptException
-
getFactory
public javax.script.ScriptEngineFactory getFactory()
- Specified by:
getFactoryin 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.
-
-