Class AbstractExecutor.Set
java.lang.Object
org.apache.commons.jexl2.internal.AbstractExecutor
org.apache.commons.jexl2.internal.AbstractExecutor.Set
- All Implemented Interfaces:
JexlPropertySet
- Direct Known Subclasses:
DuckSetExecutor, ListSetExecutor, MapSetExecutor, PropertySetExecutor
- Enclosing class:
AbstractExecutor
public abstract static class AbstractExecutor.Set
extends AbstractExecutor
implements JexlPropertySet
Abstract class that is used to execute an arbitrary 'set' method.
- Since:
- 1.0
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractExecutor
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set -
Field Summary
Fields inherited from class AbstractExecutor
method, objectClass, TRY_FAILED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract ObjectSets the property value of an object.final ObjectMethod used to set the property value of an object.tryExecute(Object obj, Object key, Object value) Tries to reuse this executor, checking that it is compatible with the actual set of arguments.final ObjectAttempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.Methods inherited from class AbstractExecutor
equals, equals, getMethod, getMethodName, getTargetClass, getTargetProperty, hashCode, isAlive, isCacheable, tryFailedMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface JexlPropertySet
isCacheable, tryFailed
-
Constructor Details
-
Set
-
-
Method Details
-
invoke
Method 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:
Exception- on any error.
-
tryInvoke
Attempts 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 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.
-
execute
public abstract Object execute(Object obj, Object value) throws IllegalAccessException, InvocationTargetException Sets the property value of an object.- Parameters:
obj- The object to set the property in.value- The value.- Returns:
- The return value.
- 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.Compatibility means that:
omust be of the same class as this executor's target class,propertymust 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) and thatargmust be a valid argument for this executor underlying method.- Parameters:
obj- The object to invoke the method from.key- The property to set in the object.value- The value to use as the property value.- Returns:
- The return value or TRY_FAILED if checking failed.
-