Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl2.internal
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.

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
`AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set`

Field Summary

Fields inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
`method, objectClass, TRY_FAILED`

Constructor Summary
`protected` | `AbstractExecutor.Set(Class<?> theClass, Method theMethod)` Default and sole constructor.

Method Summary
`abstract Object` | `execute(Object obj, Object value)` Sets the property value of an object.
`Object` | `invoke(Object obj, Object arg)` Method used to set the property value of an object.
`Object` | `tryExecute(Object obj, Object key, Object value)` Tries to reuse this executor, checking that it is compatible with the actual set of arguments.
`Object` | `tryInvoke(Object obj, Object key, Object value)` Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.

Methods inherited from class org.apache.commons.jexl2.internal.AbstractExecutor
`equals, equals, getMethod, getMethodName, getTargetClass, getTargetProperty, hashCode, isAlive, isCacheable, tryFailed`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.commons.jexl2.introspection.JexlPropertySet
`isCacheable, tryFailed`

Constructor Detail

### AbstractExecutor.Set

    protected AbstractExecutor.Set(Class<?> theClass,
                                   Method theMethod)

  Default and sole constructor.

  Parameters:
    `theClass` - the class this executor applies to
    `theMethod` - the method held by this executor

Method Detail

### invoke

    public final Object invoke(Object obj,
                               Object arg)
                        throws Exception

  Method used to set the property value of an object.

  Specified by:
    `invoke` in interface `JexlPropertySet`
  Parameters:
    `obj` - Object on which the property setter will be called with the value
    `arg` - value to be set
  Returns:
    the value returned from the set operation (impl specific)
  Throws:
    `Exception` - on any error.

### tryInvoke

    public final Object tryInvoke(Object obj,
                                  Object key,
                                  Object value)

  Attempts to reuse this JexlPropertySet, checking that it is compatible with the actual set of arguments.

  Specified by:
    `tryInvoke` in interface `JexlPropertySet`
  Parameters:
    `obj` - the object to invoke the the get upon
    `key` - the property key to get
    `value` - 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

    public Object tryExecute(Object obj,
                             Object key,
                             Object value)

  Tries to reuse this executor, checking that it is compatible with the actual set of arguments.

  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.

  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.