Class AbstractExecutor

java.lang.Object
org.apache.commons.jexl3.internal.introspection.AbstractExecutor
Direct Known Subclasses:
AbstractExecutor.Get, AbstractExecutor.Method, AbstractExecutor.Set

abstract class AbstractExecutor extends Object
Abstract class that is used to execute an arbitrary method that is introspected. This is the superclass for all other AbstractExecutor classes.
Since:
1.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Abstract class that is used to execute an arbitrary 'get' method.
    static class 
    Abstract class that is used to execute an arbitrary method.
    static class 
    Abstract class that is used to execute an arbitrary 'set' method.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Method
    Method to be executed.
    protected final Class<?>
    The class this executor applies to.
    static final Object
    A marker for invocation failures in tryInvoke.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AbstractExecutor(Class<?> theClass, Method theMethod)
    Default and sole constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) static Integer
    Coerce an Object which must be a number to an Integer.
    (package private) static String
    Coerce an Object to a String.
    (package private) static Class<?>
    classOf(Object instance)
    Gets the class of an object or Object if null.
    boolean
     
    boolean
    Indicates whether some other executor is equivalent to this one.
    final Method
    Gets the method to be executed or used as a marker.
    final String
    Gets the method name used.
    final Class<?>
    Gets the object class targeted by this executor.
    Gets the property targeted by this executor.
    int
     
    (package private) static Method
    initMarker(Class<?> clazz, String name, Class<?>... parms)
    A helper to initialize the marker methods (array.get, list.get, etc...).
    final boolean
    Tell whether the executor is alive by looking at the value of the method.
    boolean
    Specifies if this executor is cacheable and able to be reused for this class of object it was returned for.
    (package private) static Object[]
    makeArgs(Object... args)
    Creates an arguments array.
    final boolean
    Checks whether a tryExecute failed or not.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • TRY_FAILED

      public static final Object TRY_FAILED
      A marker for invocation failures in tryInvoke.
    • objectClass

      protected final Class<?> objectClass
      The class this executor applies to.
    • method

      protected final Method method
      Method to be executed.
  • Constructor Details

    • AbstractExecutor

      protected AbstractExecutor(Class<?> theClass, Method theMethod)
      Default and sole constructor.
      Parameters:
      theClass - the class this executor applies to
      theMethod - the method held by this executor
  • Method Details

    • castInteger

      static Integer castInteger(Object arg)
      Coerce an Object which must be a number to an Integer.
      Parameters:
      arg - the Object to coerce
      Returns:
      an Integer if it can be converted, null otherwise
    • castString

      static String castString(Object arg)
      Coerce an Object to a String.
      Parameters:
      arg - the Object to coerce
      Returns:
      a String if it can be converted, null otherwise
    • classOf

      static Class<?> classOf(Object instance)
      Gets the class of an object or Object if null.
      Parameters:
      instance - the instance
      Returns:
      the class
    • initMarker

      static Method initMarker(Class<?> clazz, String name, Class<?>... parms)
      A helper to initialize the marker methods (array.get, list.get, etc...).
      Parameters:
      clazz - the class to introspect
      name - the name of the method
      parms - the parameters
      Returns:
      the method
    • makeArgs

      static Object[] makeArgs(Object... args)
      Creates an arguments array.
      Parameters:
      args - the list of arguments
      Returns:
      the arguments array
    • equals

      public boolean equals(AbstractExecutor arg)
      Indicates whether some other executor is equivalent to this one.
      Parameters:
      arg - the other executor to check
      Returns:
      true if both executors are equivalent, false otherwise
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getMethod

      public final Method getMethod()
      Gets the method to be executed or used as a marker.
      Returns:
      Method The method used by execute in derived classes.
    • getMethodName

      public final String getMethodName()
      Gets the method name used.
      Returns:
      method name
    • getTargetClass

      public final Class<?> getTargetClass()
      Gets the object class targeted by this executor.
      Returns:
      the target object class
    • getTargetProperty

      public Object getTargetProperty()
      Gets the property targeted by this executor.
      Returns:
      the target property
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isAlive

      public final boolean isAlive()
      Tell whether the executor is alive by looking at the value of the method.
      Returns:
      boolean Whether the executor is alive.
    • isCacheable

      public boolean isCacheable()
      Specifies if this executor 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
    • tryFailed

      public final boolean tryFailed(Object exec)
      Checks whether a tryExecute failed or not.
      Parameters:
      exec - the value returned by tryExecute
      Returns:
      true if tryExecute failed, false otherwise