Class FieldSetExecutor
- java.lang.Object
-
- org.apache.commons.jexl3.internal.introspection.FieldSetExecutor
-
- All Implemented Interfaces:
JexlPropertySet
public final class FieldSetExecutor extends java.lang.Object implements JexlPropertySet
A JexlPropertySet for public fields.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.reflect.FieldfieldThe public field.
-
Constructor Summary
Constructors Modifier Constructor Description privateFieldSetExecutor(java.lang.reflect.Field theField)Creates a new instance of FieldPropertySet.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JexlPropertySetdiscover(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier, java.lang.Object value)Attempts to discover a FieldSetExecutor.java.lang.Objectinvoke(java.lang.Object obj, java.lang.Object arg)Method used to set the property value of an object.booleanisCacheable()Specifies if this JexlPropertySet is cacheable and able to be reused for this class of object it was returned for.booleantryFailed(java.lang.Object rval)Checks whether a tryInvoke failed or not.java.lang.ObjecttryInvoke(java.lang.Object obj, java.lang.Object key, java.lang.Object value)Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.
-
-
-
Method Detail
-
discover
public static JexlPropertySet discover(Introspector is, java.lang.Class<?> clazz, java.lang.String identifier, java.lang.Object value)
Attempts to discover a FieldSetExecutor.- Parameters:
is- the introspectorclazz- the class to find the get method fromidentifier- the key to use as an argument to the get methodvalue- the value to set the field to- Returns:
- the executor if found, null otherwise
-
invoke
public java.lang.Object invoke(java.lang.Object obj, java.lang.Object arg) throws java.lang.ExceptionDescription copied from interface:JexlPropertySetMethod used to set the property value of an object.- Specified by:
invokein interfaceJexlPropertySet- Parameters:
obj- Object on which the property setter will be called with the valuearg- value to be set- Returns:
- the value returned from the set operation (impl specific)
- Throws:
java.lang.Exception- on any error.
-
isCacheable
public boolean isCacheable()
Description copied from interface:JexlPropertySetSpecifies if this JexlPropertySet is cacheable and able to be reused for this class of object it was returned for.- Specified by:
isCacheablein interfaceJexlPropertySet- Returns:
- true if can be reused for this class, false if not
-
tryFailed
public boolean tryFailed(java.lang.Object rval)
Description copied from interface:JexlPropertySetChecks whether a tryInvoke failed or not.- Specified by:
tryFailedin interfaceJexlPropertySet- 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, java.lang.Object value)Description copied from interface:JexlPropertySetAttempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.- Specified by:
tryInvokein interfaceJexlPropertySet- Parameters:
obj- the object to invoke the get uponkey- the property key to getvalue- the property value to set- Returns:
- the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.
-
-