Class AbstractExecutor.Get
- java.lang.Object
-
- org.apache.commons.jexl2.internal.AbstractExecutor
-
- org.apache.commons.jexl2.internal.AbstractExecutor.Get
-
- All Implemented Interfaces:
JexlPropertyGet
- Direct Known Subclasses:
BooleanGetExecutor
,DuckGetExecutor
,ListGetExecutor
,MapGetExecutor
,PropertyGetExecutor
- Enclosing class:
- AbstractExecutor
public abstract static class AbstractExecutor.Get extends AbstractExecutor implements JexlPropertyGet
Abstract class that is used to execute an arbitrary 'get' method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
-
-
Field Summary
-
Fields inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
method, objectClass, TRY_FAILED
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Get(java.lang.Class<?> theClass, java.lang.reflect.Method theMethod)
Default and sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.lang.Object
execute(java.lang.Object obj)
Gets the property value from an object.java.lang.Object
invoke(java.lang.Object obj)
Method used to get the property value of an object.java.lang.Object
tryExecute(java.lang.Object obj, java.lang.Object key)
Tries to reuse this executor, checking that it is compatible with the actual set of arguments.java.lang.Object
tryInvoke(java.lang.Object obj, java.lang.Object key)
Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.-
Methods inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
equals, equals, getMethod, getMethodName, getTargetClass, getTargetProperty, hashCode, isAlive, isCacheable, tryFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.jexl2.introspection.JexlPropertyGet
isCacheable, tryFailed
-
-
-
-
Constructor Detail
-
Get
protected Get(java.lang.Class<?> theClass, java.lang.reflect.Method theMethod)
Default and sole constructor.- Parameters:
theClass
- the class this executor applies totheMethod
- the method held by this executor
-
-
Method Detail
-
invoke
public final java.lang.Object invoke(java.lang.Object obj) throws java.lang.Exception
Method used to get the property value of an object.- Specified by:
invoke
in interfaceJexlPropertyGet
- Parameters:
obj
- the object to get the property value from.- Returns:
- the property value.
- Throws:
java.lang.Exception
- on any error.
-
tryInvoke
public final java.lang.Object tryInvoke(java.lang.Object obj, java.lang.Object key)
Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.- Specified by:
tryInvoke
in interfaceJexlPropertyGet
- Parameters:
obj
- the object to invoke the property get uponkey
- the property key to get- Returns:
- the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.
-
execute
public abstract java.lang.Object execute(java.lang.Object obj) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Gets the property value from an object.- Parameters:
obj
- The object to get the property from.- Returns:
- The property value.
- Throws:
java.lang.IllegalAccessException
- Method is inaccessible.java.lang.reflect.InvocationTargetException
- Method body throws an exception.
-
tryExecute
public java.lang.Object tryExecute(java.lang.Object obj, java.lang.Object key)
Tries to reuse this executor, checking that it is compatible with the actual set of arguments.Compatibility means that:
o
must be of the same class as this executor's target class andproperty
must be of the same class as this executor's target property (for list and map based executors) and have the same value (for other types).- Parameters:
obj
- The object to get the property from.key
- The property to get from the object.- Returns:
- The property value or TRY_FAILED if checking failed.
-
-