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 Env
context
protected BaseExpression
expression
private boolean
inheritEnv
private boolean
installed
private boolean
isVariadic
private java.lang.String
name
protected java.util.List<FunctionParam>
params
private static long
serialVersionUID
-
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 AviatorObject
call(java.util.Map<java.lang.String,java.lang.Object> env)
call functionAviatorObject
call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1)
AviatorObject
call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2)
AviatorObject
call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3)
AviatorObject
call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4)
AviatorObject
call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3, AviatorObject arg4, AviatorObject arg5)
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
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)
int
getArity()
Env
getContext()
BaseExpression
getExpression()
java.lang.String
getName()
Get the function nameboolean
isInheritEnv()
boolean
isInstalled()
boolean
isVariadic()
protected java.util.Map<java.lang.String,java.lang.Object>
newEnv(java.util.Map<java.lang.String,java.lang.Object> parentEnv, AviatorObject... args)
void
resetContext()
void
setContext(Env context)
void
setInheritEnv(boolean inheritEnv)
void
setInstalled(boolean installed)
AviatorObject
variadicCall(java.util.Map<java.lang.String,java.lang.Object> env, boolean processArgs, AviatorObject... args)
AviatorObject
variadicCall(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:AviatorFunction
Get 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:AviatorFunction
call function- Specified by:
call
in interfaceAviatorFunction
- Overrides:
call
in classAbstractVariadicFunction
- Parameters:
env
- Variable environment- Returns:
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1)
- Specified by:
call
in interfaceAviatorFunction
- Overrides:
call
in classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2)
- Specified by:
call
in interfaceAviatorFunction
- Overrides:
call
in classAbstractVariadicFunction
-
call
public AviatorObject call(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject arg1, AviatorObject arg2, AviatorObject arg3)
- Specified by:
call
in interfaceAviatorFunction
- Overrides:
call
in 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:
call
in interfaceAviatorFunction
- Overrides:
call
in 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:
call
in interfaceAviatorFunction
- Overrides:
call
in 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:
call
in interfaceAviatorFunction
- Overrides:
call
in 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:
call
in interfaceAviatorFunction
- Overrides:
call
in 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:AbstractVariadicFunction
Call with variadic arguments.The subclass must implement this method.- Specified by:
variadicCall
in classAbstractVariadicFunction
- Returns:
-
-