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<?>
clazz
private java.lang.invoke.MethodHandle
handle
private boolean
isStatic
private java.lang.String
methodName
private java.util.List<java.lang.reflect.Method>
methods
private java.lang.String
name
private java.lang.Class<?>[]
pTypes
private static long
serialVersionUID
-
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.String
getName()
Get the function nameprivate void
init(boolean isStatic, java.lang.String methodName, java.util.List<java.lang.reflect.Method> methods)
private void
readObject(java.io.ObjectInputStream input)
AviatorObject
variadicCall(java.util.Map<java.lang.String,java.lang.Object> env, AviatorObject... args)
Call with variadic arguments.The subclass must implement this method.private void
writeObject(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.IllegalAccessException
java.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.IllegalAccessException
java.lang.NoSuchMethodException
-
readObject
private void readObject(java.io.ObjectInputStream input) throws java.lang.ClassNotFoundException, java.io.IOException
- Throws:
java.lang.ClassNotFoundException
java.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:AviatorFunction
Get the function name- Returns:
-
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:
-
-