Class FieldGetExecutor

java.lang.Object
org.apache.commons.jexl3.internal.introspection.FieldGetExecutor
All Implemented Interfaces:
JexlPropertyGet

public final class FieldGetExecutor extends Object implements JexlPropertyGet
A JexlPropertyGet for public fields.
  • Field Details

    • field

      private final Field field
      The public field.
  • Constructor Details

    • FieldGetExecutor

      private FieldGetExecutor(Field theField)
      Creates a new instance of FieldPropertyGet.
      Parameters:
      theField - the class public field
  • Method Details

    • discover

      public static JexlPropertyGet discover(Introspector is, Class<?> clazz, String identifier)
      Attempts to discover a FieldGetExecutor.
      Parameters:
      is - the introspector
      clazz - the class to find the get method from
      identifier - the key to use as an argument to the get method
      Returns:
      the executor if found, null otherwise
    • invoke

      public Object invoke(Object obj) throws Exception
      Description copied from interface: JexlPropertyGet
      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 Object tryInvoke(Object obj, Object key)
      Description copied from interface: JexlPropertyGet
      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.
    • tryFailed

      public boolean tryFailed(Object rval)
      Description copied from interface: JexlPropertyGet
      Checks whether a tryInvoke failed or not.
      Specified by:
      tryFailed in interface JexlPropertyGet
      Parameters:
      rval - the value returned by tryInvoke
      Returns:
      true if tryInvoke failed, false otherwise
    • isCacheable

      public boolean isCacheable()
      Description copied from interface: JexlPropertyGet
      Specifies if this JexlPropertyGet is cacheable and able to be reused for this class of object it was returned for.
      Specified by:
      isCacheable in interface JexlPropertyGet
      Returns:
      true if can be reused for this class, false if not