public abstract static class AbstractExecutor.Set extends AbstractExecutor implements JexlPropertySet
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
method, objectClass, TRY_FAILED
Modifier | Constructor and Description |
---|---|
protected |
Set(java.lang.Class<?> theClass,
java.lang.reflect.Method theMethod)
Default and sole constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
execute(java.lang.Object obj,
java.lang.Object value)
Sets the property value of an object.
|
java.lang.Object |
invoke(java.lang.Object obj,
java.lang.Object arg)
Method used to set the property value of an object.
|
java.lang.Object |
tryExecute(java.lang.Object obj,
java.lang.Object key,
java.lang.Object value)
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,
java.lang.Object value)
Attempts to reuse this JexlPropertySet, checking that it is compatible with
the actual set of arguments.
|
equals, equals, getMethod, getMethodName, getTargetClass, getTargetProperty, hashCode, isAlive, isCacheable, tryFailed
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
isCacheable, tryFailed
protected Set(java.lang.Class<?> theClass, java.lang.reflect.Method theMethod)
theClass
- the class this executor applies totheMethod
- the method held by this executorpublic final java.lang.Object invoke(java.lang.Object obj, java.lang.Object arg) throws java.lang.Exception
invoke
in interface JexlPropertySet
obj
- Object on which the property setter will be called with the valuearg
- value to be setjava.lang.Exception
- on any error.public final java.lang.Object tryInvoke(java.lang.Object obj, java.lang.Object key, java.lang.Object value)
tryInvoke
in interface JexlPropertySet
obj
- the object to invoke the the get uponkey
- the property key to getvalue
- the property value to setpublic abstract java.lang.Object execute(java.lang.Object obj, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
obj
- The object to set the property in.value
- The value.java.lang.IllegalAccessException
- Method is inaccessible.java.lang.reflect.InvocationTargetException
- Method body throws an exception.public java.lang.Object tryExecute(java.lang.Object obj, java.lang.Object key, java.lang.Object value)
Compatibility means that:
o
must be of the same class as this executor's
target class,
property
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)
and that arg
must be a valid argument for this
executor underlying method.
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.