Class ListGetExecutor
- java.lang.Object
-
- org.apache.commons.jexl3.internal.introspection.AbstractExecutor
-
- org.apache.commons.jexl3.internal.introspection.AbstractExecutor.Get
-
- org.apache.commons.jexl3.internal.introspection.ListGetExecutor
-
- All Implemented Interfaces:
JexlPropertyGet
public final class ListGetExecutor extends AbstractExecutor.Get
Specialized executor to get a property from a List or array.- Since:
- 2.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.jexl3.internal.introspection.AbstractExecutor
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.reflect.MethodARRAY_GETThe java.lang.reflect.Array.get method used as an active marker in ListGet.private static java.lang.reflect.MethodLIST_GETThe java.util.obj.get method used as an active marker in ListGet.private java.lang.IntegerpropertyThe property.-
Fields inherited from class org.apache.commons.jexl3.internal.introspection.AbstractExecutor
method, objectClass, TRY_FAILED
-
-
Constructor Summary
Constructors Modifier Constructor Description privateListGetExecutor(java.lang.Class<?> clazz, java.lang.reflect.Method method, java.lang.Integer index)Creates an instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ListGetExecutordiscover(Introspector is, java.lang.Class<?> clazz, java.lang.Integer index)Attempts to discover a ListGetExecutor.java.lang.ObjectgetTargetProperty()Gets the property targeted by this executor.java.lang.Objectinvoke(java.lang.Object obj)Method used to get the property value of an object.java.lang.ObjecttryInvoke(java.lang.Object obj, java.lang.Object identifier)Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.-
Methods inherited from class org.apache.commons.jexl3.internal.introspection.AbstractExecutor
castInteger, castString, classOf, equals, equals, getMethod, getMethodName, getTargetClass, hashCode, initMarker, isAlive, isCacheable, makeArgs, tryFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.jexl3.introspection.JexlPropertyGet
isCacheable, isConstant, tryFailed
-
-
-
-
Field Detail
-
ARRAY_GET
private static final java.lang.reflect.Method ARRAY_GET
The java.lang.reflect.Array.get method used as an active marker in ListGet.
-
LIST_GET
private static final java.lang.reflect.Method LIST_GET
The java.util.obj.get method used as an active marker in ListGet.
-
property
private final java.lang.Integer property
The property.
-
-
Constructor Detail
-
ListGetExecutor
private ListGetExecutor(java.lang.Class<?> clazz, java.lang.reflect.Method method, java.lang.Integer index)Creates an instance.- Parameters:
clazz- he class the get method applies tomethod- the method held by this executorindex- the index to use as an argument to the get method
-
-
Method Detail
-
discover
public static ListGetExecutor discover(Introspector is, java.lang.Class<?> clazz, java.lang.Integer index)
Attempts to discover a ListGetExecutor.- Parameters:
is- the introspectorclazz- the class to find the get method fromindex- the index to use as an argument to the get method- Returns:
- the executor if found, null otherwise
-
getTargetProperty
public java.lang.Object getTargetProperty()
Description copied from class:AbstractExecutorGets the property targeted by this executor.- Overrides:
getTargetPropertyin classAbstractExecutor- Returns:
- the target property
-
invoke
public java.lang.Object invoke(java.lang.Object obj)
Description copied from interface:JexlPropertyGetMethod used to get the property value of an object.- Parameters:
obj- the object to get the property value from.- Returns:
- the property value.
-
tryInvoke
public java.lang.Object tryInvoke(java.lang.Object obj, java.lang.Object identifier)Description copied from interface:JexlPropertyGetAttempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.- Parameters:
obj- the object to invoke the property get uponidentifier- 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.
-
-