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.Get

    java.lang.Object
      org.apache.commons.jexl2.internal.AbstractExecutor
          org.apache.commons.jexl2.internal.AbstractExecutor.Get

All Implemented Interfaces:
  JexlPropertyGet

Direct Known Subclasses:
  BooleanGetExecutor, DuckGetExecutor, ListGetExecutor, MapGetExecutor, PropertyGetExecutor

Enclosing class:
  AbstractExecutor

    public abstract static class AbstractExecutor.Get

extends AbstractExecutor
implements JexlPropertyGet

Abstract class that is used to execute an arbitrary 'get' 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.Get(Class<?> theClass, Method theMethod)` Default and sole constructor.

Method Summary
`abstract Object` | `execute(Object obj)` Gets the property value from an object.
`Object` | `invoke(Object obj)` Method used to get the property value of an object.
`Object` | `tryExecute(Object obj, Object key)` Tries to reuse this executor, checking that it is compatible with the actual set of arguments.
`Object` | `tryInvoke(Object obj, Object key)` Attempts to reuse this JexlPropertyGet, 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.JexlPropertyGet
`isCacheable, tryFailed`

Constructor Detail

### AbstractExecutor.Get

    protected AbstractExecutor.Get(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)
                        throws Exception

  Method used to get the property value of an object.

  Specified by:
    `invoke` in interface `JexlPropertyGet`
  Parameters:
    `obj` - the object to get the property value from.
  Returns:
    the property value.
  Throws:
    `Exception` - on any error.

### tryInvoke

    public final Object tryInvoke(Object obj,
                                  Object key)

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

  Specified by:
    `tryInvoke` in interface `JexlPropertyGet`
  Parameters:
    `obj` - the object to invoke the property get upon
    `key` - the property key to get
  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)
                            throws IllegalAccessException,
                                   InvocationTargetException

  Gets the property value from an object.

  Parameters:
    `obj` - The object to get the property from.
  Returns:
    The property value.
  Throws:
    `IllegalAccessException` - Method is inaccessible.
    `InvocationTargetException` - Method body throws an exception.

### tryExecute

    public Object tryExecute(Object obj,
                             Object key)

  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 and `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).

  Parameters:
    `obj` - The object to get the property from.
    `key` - The property to get from the object.
  Returns:
    The property 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-2010 The Apache Software Foundation. All Rights Reserved.