org.apache.commons.jexl2.internal
Class MethodExecutor
java.lang.Object
org.apache.commons.jexl2.internal.AbstractExecutor
org.apache.commons.jexl2.internal.AbstractExecutor.Method
org.apache.commons.jexl2.internal.MethodExecutor
- All Implemented Interfaces:
- JexlMethod
public final class MethodExecutor
- extends AbstractExecutor.Method
Specialized executor to invoke a method on an object.
- Since:
- 2.0
MethodExecutor
public MethodExecutor(Introspector is,
Object obj,
String name,
Object[] args)
- Creates a new instance.
- Parameters:
is - the introspector used to discover the methodobj - the object to find the method inname - the method nameargs - the method arguments
execute
public Object execute(Object o,
Object[] args)
throws IllegalAccessException,
InvocationTargetException
- Invokes the method to be executed.
- Specified by:
execute in class AbstractExecutor.Method
- Parameters:
o - the object to invoke the method uponargs - the method arguments
- Returns:
- the result of the method invocation
- Throws:
IllegalAccessException - Method is inaccessible.
InvocationTargetException - Method body throws an exception.
tryExecute
public Object tryExecute(String name,
Object obj,
Object[] args)
- Tries to reuse this executor, checking that it is compatible with
the actual set of arguments.
- Overrides:
tryExecute in class AbstractExecutor.Method
- Parameters:
name - the method nameobj - the object to invoke the method uponargs - the method arguments
- Returns:
- the result of the method invocation or TRY_FAILED if checking failed.
handleVarArg
protected Object[] handleVarArg(Class<?> type,
int index,
Object[] actual)
- Reassembles arguments if the method is a vararg method.
- Parameters:
type - The vararg class type (aka component type
of the expected array arg)index - The index of the vararg in the method declaration
(This will always be one less than the number of
expected arguments.)actual - The actual parameters being passed to this method
- Returns:
- The actual parameters adjusted for the varargs in order
to fit the method declaration.
Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.