Class AbstractExecutor.Method
java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.AbstractExecutor
edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.AbstractExecutor.Method
- All Implemented Interfaces:
JexlMethod
- Direct Known Subclasses:
MethodExecutor
- Enclosing class:
- AbstractExecutor
Abstract class that is used to execute an arbitrary method.
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static final class
A helper class to pass the method & parameters.Nested classes/interfaces inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.AbstractExecutor
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
-
Field Summary
Modifier and TypeFieldDescriptionprotected final MethodKey
The method key discovered from the arguments.Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.AbstractExecutor
method, objectClass, TRY_FAILED
-
Constructor Summary
ModifierConstructorDescriptionprotected
Method
(Class<?> c, AbstractExecutor.Method.Parameter km) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionabstract Object
Invokes the method to be executed.final Class<?>
Returns the return type of the method invoked.Gets the property targeted by this executor.final Object
Invocation method, called when the method invocation should be performed and a value returned.tryExecute
(String name, Object obj, Object[] args) Tries to reuse this executor, checking that it is compatible with the actual set of arguments.final Object
Attempts to reuse this JexlMethod, checking that it is compatible with the actual set of arguments.Methods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.AbstractExecutor
equals, equals, getMethod, getMethodName, getTargetClass, hashCode, isAlive, isCacheable, tryFailed
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.introspection.JexlMethod
isCacheable, tryFailed
-
Field Details
-
key
The method key discovered from the arguments.
-
-
Constructor Details
-
Method
Creates a new instance.- Parameters:
c
- the class this executor applies tokm
- the method and MethodKey to encapsulate.
-
-
Method Details
-
invoke
Invocation method, called when the method invocation should be performed and a value returned.- Specified by:
invoke
in interfaceJexlMethod
- Parameters:
obj
- the objectparams
- method parameters.- Returns:
- the result
- Throws:
Exception
- on any error.
-
tryInvoke
Attempts to reuse this JexlMethod, checking that it is compatible with the actual set of arguments. Related to isCacheable since this method is often used with cached JexlMethod instances.- Specified by:
tryInvoke
in interfaceJexlMethod
- Parameters:
name
- the method nameobj
- the object to invoke the method uponparams
- the method arguments- Returns:
- the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.
-
getTargetProperty
Gets the property targeted by this executor.- Overrides:
getTargetProperty
in classAbstractExecutor
- Returns:
- the target property
-
getReturnType
Returns the return type of the method invoked.- Specified by:
getReturnType
in interfaceJexlMethod
- Returns:
- return type
-
execute
public abstract Object execute(Object obj, Object[] args) throws IllegalAccessException, InvocationTargetException Invokes the method to be executed.- Parameters:
obj
- 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
Tries to reuse this executor, checking that it is compatible with the actual set of arguments.- Parameters:
obj
- the object to invoke the method uponname
- the method nameargs
- the method arguments- Returns:
- the result of the method invocation or TRY_FAILED if checking failed.
-