Class LambdaFunction
- java.lang.Object
-
- com.googlecode.aviator.runtime.type.AviatorObject
-
- com.googlecode.aviator.runtime.function.AbstractVariadicFunction
-
- com.googlecode.aviator.runtime.function.LambdaFunction
-
- All Implemented Interfaces:
AviatorFunction,java.io.Serializable,java.lang.Runnable,java.util.concurrent.Callable<AviatorObject>
public final class LambdaFunction extends AbstractVariadicFunction
All lamabda function base class- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Envcontextprotected BaseExpressionexpressionprivate booleaninheritEnvprivate booleaninstalledprivate booleanisVariadicprivate java.lang.Stringnameprotected java.util.List<FunctionParam>paramsprivate static longserialVersionUID-
Fields inherited from class com.googlecode.aviator.runtime.type.AviatorObject
metadata
-
-
Constructor Summary
Constructors Constructor Description LambdaFunction(java.lang.String name, java.util.List<FunctionParam> params, Expression expression, Env context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env)call functionAviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1)AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2)AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3)AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4)AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5)AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5, AviatorObject arg6)AviatorObjectcall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5, AviatorObject arg6, AviatorObject arg7)intgetArity()EnvgetContext()BaseExpressiongetExpression()java.lang.StringgetName()Get the function namebooleanisInheritEnv()booleanisInstalled()booleanisVariadic()protected java.util.Map<java.lang.String,java.lang.Object>newEnv(java.util.Map<java.lang.String,java.lang.Object> parentEnv, AviatorObject... args)voidresetContext()voidsetContext(Env context)voidsetInheritEnv(boolean inheritEnv)voidsetInstalled(boolean installed)AviatorObjectvariadicCall(java.util.Map<java.lang.String,java.lang.Object> env, boolean processArgs, AviatorObject... args)AviatorObjectvariadicCall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject... args)Call with variadic arguments.The subclass must implement this method.-
Methods inherited from class com.googlecode.aviator.runtime.function.AbstractVariadicFunction
call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, desc, getAviatorType, getValue, innerCompare, run
-
Methods inherited from class com.googlecode.aviator.runtime.type.AviatorObject
add, bitAnd, bitNot, bitOr, bitXor, booleanValue, compare, compareEq, defineValue, deref, div, exponent, getElement, getMetadata, isNull, match, meta, mod, mult, neg, not, numberValue, setValue, shiftLeft, shiftRight, stringValue, sub, toString, unsignedShiftRight, withMeta, withoutMeta
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
params
protected java.util.List<FunctionParam> params
-
expression
protected BaseExpression expression
-
context
protected Env context
-
inheritEnv
private boolean inheritEnv
-
isVariadic
private final boolean isVariadic
-
name
private final java.lang.String name
-
installed
private boolean installed
-
-
Constructor Detail
-
LambdaFunction
public LambdaFunction(java.lang.String name, java.util.List<FunctionParam> params, Expression expression, Env context)
-
-
Method Detail
-
isInstalled
public boolean isInstalled()
-
setInstalled
public void setInstalled(boolean installed)
-
isInheritEnv
public boolean isInheritEnv()
-
getContext
public Env getContext()
-
setContext
public void setContext(Env context)
-
resetContext
public void resetContext()
-
getExpression
public BaseExpression getExpression()
-
setInheritEnv
public void setInheritEnv(boolean inheritEnv)
-
getName
public java.lang.String getName()
Description copied from interface:AviatorFunctionGet the function name- Returns:
-
getArity
public int getArity()
-
isVariadic
public boolean isVariadic()
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env)
Description copied from interface:AviatorFunctioncall function- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction- Parameters:
env- Variable environment- Returns:
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5, AviatorObject arg6)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5, AviatorObject arg6, AviatorObject arg7)
- Specified by:
callin interfaceAviatorFunction- Overrides:
callin classAbstractVariadicFunction
-
newEnv
protected java.util.Map<java.lang.String,java.lang.Object> newEnv(java.util.Map<java.lang.String,java.lang.Object> parentEnv, AviatorObject... args)
-
variadicCall
public AviatorObject variadicCall(java.util.Map<java.lang.String,java.lang.Object> env, boolean processArgs, AviatorObject... args)
-
variadicCall
public AviatorObject variadicCall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject... args)
Description copied from class:AbstractVariadicFunctionCall with variadic arguments.The subclass must implement this method.- Specified by:
variadicCallin classAbstractVariadicFunction- Returns:
-
-