org.apache.commons.jexl3.introspection

## Interface JexlPropertyGet

- All Known Implementing Classes:
    AbstractExecutor.Get, BooleanGetExecutor, DuckGetExecutor, FieldGetExecutor, IndexedType, ListGetExecutor, MapGetExecutor, PropertyGetExecutor

      public interface JexlPropertyGet

  Interface for getting values that appear to be properties. Ex. `${foo.bar}`
  Since:
    1.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `invoke(Object obj)` Method used to get the property value of an object.
    `boolean` | `isCacheable()` Specifies if this JexlPropertyGet is cacheable and able to be reused for this class of object it was returned for.
    `boolean` | `tryFailed(Object rval)` Checks whether a tryInvoke failed or not.
    `Object` | `tryInvoke(Object obj, Object key)` Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.

- - ### Method Detail

    - #### invoke

          Object invoke(Object obj)
                        throws Exception

      Method used to get the property value of an object.
      Parameters:
        `obj` - the object to get the property value from.
      Returns:
        the property value.
      Throws:
        `Exception` - on any error.

    - #### tryInvoke

          Object tryInvoke(Object obj,
                         Object key)

      Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.
      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.

    - #### tryFailed

          boolean tryFailed(Object rval)

      Checks whether a tryInvoke failed or not.
      Parameters:
        `rval` - the value returned by tryInvoke
      Returns:
        true if tryInvoke failed, false otherwise

    - #### isCacheable

          boolean isCacheable()

      Specifies if this JexlPropertyGet is cacheable and able to be reused for this class of object it was returned for.
      Returns:
        true if can be reused for this class, false if not

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.