public final class DuckSetExecutor extends AbstractExecutor.Set
Duck as in duck-typing for an interface like:
interface Set {
Object set(Object property, Object value);
}
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set
method, objectClass, TRY_FAILED
Constructor and Description |
---|
DuckSetExecutor(Introspector is,
Class<?> clazz,
Object key,
Object value)
Creates an instance.
|
Modifier and Type | Method and Description |
---|---|
Object |
execute(Object obj,
Object value)
Sets the property value of an object.
|
Object |
getTargetProperty()
Gets the property targeted by this executor.
|
Object |
tryExecute(Object obj,
Object key,
Object value)
Tries to reuse this executor, checking that it is compatible with
the actual set of arguments.
|
invoke, tryInvoke
equals, equals, getMethod, getMethodName, getTargetClass, hashCode, isAlive, isCacheable, tryFailed
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
isCacheable, tryFailed
public DuckSetExecutor(Introspector is, Class<?> clazz, Object key, Object value)
is
- the introspectorclazz
- the class to find the set method fromkey
- the key to use as 1st argument to the set methodvalue
- the value to use as 2nd argument to the set methodpublic Object getTargetProperty()
getTargetProperty
in class AbstractExecutor
public Object execute(Object obj, Object value) throws IllegalAccessException, InvocationTargetException
execute
in class AbstractExecutor.Set
obj
- The object to set the property in.value
- The value.IllegalAccessException
- Method is inaccessible.InvocationTargetException
- Method body throws an exception.public Object tryExecute(Object obj, Object key, 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.
tryExecute
in class AbstractExecutor.Set
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.Copyright © 2016 Internet2. All rights reserved.