Class FieldSetExecutor

java.lang.Object
org.apache.commons.jexl3.internal.introspection.FieldSetExecutor
All Implemented Interfaces:
JexlPropertySet

public final class FieldSetExecutor extends Object implements JexlPropertySet
A JexlPropertySet for public fields.
  • Field Details

    • field

      private final Field field
      The public field.
  • Constructor Details

    • FieldSetExecutor

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

    • discover

      public static JexlPropertySet discover(Introspector is, Class<?> clazz, String identifier, Object value)
      Attempts to discover a FieldSetExecutor.
      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
      value - the value to set the field to
      Returns:
      the executor if found, null otherwise
    • invoke

      public Object invoke(Object obj, Object arg) throws Exception
      Description copied from interface: JexlPropertySet
      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.
    • isCacheable

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

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

      public Object tryInvoke(Object obj, Object key, Object value)
      Description copied from interface: JexlPropertySet
      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 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.