Class ClassMethodFunction
- java.lang.Object
-
- com.googlecode.aviator.runtime.type.AviatorObject
-
- com.googlecode.aviator.runtime.function.AbstractVariadicFunction
-
- com.googlecode.aviator.runtime.function.ClassMethodFunction
-
- All Implemented Interfaces:
AviatorFunction,java.io.Serializable,java.lang.Runnable,java.util.concurrent.Callable<AviatorObject>
public class ClassMethodFunction extends AbstractVariadicFunction
An aviator function wraps a class's static method.- Since:
- 4.2.2
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<?>clazzprivate java.lang.invoke.MethodHandlehandleprivate booleanisStaticprivate java.lang.StringmethodNameprivate java.util.List<java.lang.reflect.Method>methodsprivate java.lang.Stringnameprivate java.lang.Class<?>[]pTypesprivate static longserialVersionUID-
Fields inherited from class com.googlecode.aviator.runtime.type.AviatorObject
metadata
-
-
Constructor Summary
Constructors Constructor Description ClassMethodFunction(java.lang.Class<?> clazz, boolean isStatic, java.lang.String name, java.lang.String methodName, java.util.List<java.lang.reflect.Method> methods)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetName()Get the function nameprivate voidinit(boolean isStatic, java.lang.String methodName, java.util.List<java.lang.reflect.Method> methods)private voidreadObject(java.io.ObjectInputStream input)AviatorObjectvariadicCall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject... args)Call with variadic arguments.The subclass must implement this method.private voidwriteObject(java.io.ObjectOutputStream output)-
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, 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
-
handle
private java.lang.invoke.MethodHandle handle
-
pTypes
private java.lang.Class<?>[] pTypes
-
name
private java.lang.String name
-
methodName
private java.lang.String methodName
-
methods
private java.util.List<java.lang.reflect.Method> methods
-
clazz
private java.lang.Class<?> clazz
-
isStatic
private boolean isStatic
-
-
Constructor Detail
-
ClassMethodFunction
public ClassMethodFunction(java.lang.Class<?> clazz, boolean isStatic, java.lang.String name, java.lang.String methodName, java.util.List<java.lang.reflect.Method> methods) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException- Throws:
java.lang.IllegalAccessExceptionjava.lang.NoSuchMethodException
-
-
Method Detail
-
init
private void init(boolean isStatic, java.lang.String methodName, java.util.List<java.lang.reflect.Method> methods) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException- Throws:
java.lang.IllegalAccessExceptionjava.lang.NoSuchMethodException
-
readObject
private void readObject(java.io.ObjectInputStream input) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
writeObject
private void writeObject(java.io.ObjectOutputStream output) throws java.io.IOException- Throws:
java.io.IOException
-
getName
public java.lang.String getName()
Description copied from interface:AviatorFunctionGet the function name- Returns:
-
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:
-
-