Class FieldGetExecutor
- java.lang.Object
-
- org.apache.commons.jexl3.internal.introspection.FieldGetExecutor
-
- All Implemented Interfaces:
JexlPropertyGet
public final class FieldGetExecutor extends java.lang.Object implements JexlPropertyGet
A JexlPropertyGet for public fields.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.reflect.FieldfieldThe public field.
-
Constructor Summary
Constructors Modifier Constructor Description privateFieldGetExecutor(java.lang.reflect.Field theField)Creates a new instance of FieldPropertyGet.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JexlPropertyGetdiscover(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier)Attempts to discover a FieldGetExecutor.java.lang.Objectinvoke(java.lang.Object obj)Method used to get the property value of an object.booleanisCacheable()Specifies if this JexlPropertyGet is cacheable and able to be reused for this class of object it was returned for.booleanisConstant()Checks whether this JexlPropertyGet returns a constant.booleantryFailed(java.lang.Object rval)Checks whether a tryInvoke failed or not.java.lang.ObjecttryInvoke(java.lang.Object obj, java.lang.Object key)Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.
-
-
-
Method Detail
-
discover
public static JexlPropertyGet discover(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier)
Attempts to discover a FieldGetExecutor.- Parameters:
is- the introspectorclazz- the class to find the get method fromidentifier- the key to use as an argument to the get method- Returns:
- the executor if found, null otherwise
-
invoke
public java.lang.Object invoke(java.lang.Object obj) throws java.lang.ExceptionDescription copied from interface:JexlPropertyGetMethod used to get the property value of an object.- Specified by:
invokein interfaceJexlPropertyGet- Parameters:
obj- the object to get the property value from.- Returns:
- the property value.
- Throws:
java.lang.Exception- on any error.
-
isCacheable
public boolean isCacheable()
Description copied from interface:JexlPropertyGetSpecifies if this JexlPropertyGet is cacheable and able to be reused for this class of object it was returned for.- Specified by:
isCacheablein interfaceJexlPropertyGet- Returns:
- true if can be reused for this class, false if not
-
isConstant
public boolean isConstant()
Description copied from interface:JexlPropertyGetChecks whether this JexlPropertyGet returns a constant.- Specified by:
isConstantin interfaceJexlPropertyGet- Returns:
- true if invoking this getter will always return the same value, false otherwise
-
tryFailed
public boolean tryFailed(java.lang.Object rval)
Description copied from interface:JexlPropertyGetChecks whether a tryInvoke failed or not.- Specified by:
tryFailedin interfaceJexlPropertyGet- Parameters:
rval- the value returned by tryInvoke- Returns:
- true if tryInvoke failed, false otherwise
-
tryInvoke
public java.lang.Object tryInvoke(java.lang.Object obj, java.lang.Object key)Description copied from interface:JexlPropertyGetAttempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.- Specified by:
tryInvokein 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.
-
-