Class UberspectImpl.VelMethodImpl

java.lang.Object
org.apache.velocity.util.introspection.UberspectImpl.VelMethodImpl
All Implemented Interfaces:
VelMethod
Enclosing class:
UberspectImpl

public static class UberspectImpl.VelMethodImpl extends Object implements VelMethod
Implementation of VelMethod
  • Field Details

    • method

      final Method method
    • isVarArg

      Boolean isVarArg
    • wrapArray

      boolean wrapArray
  • Constructor Details

    • VelMethodImpl

      public VelMethodImpl(Method m)
      Parameters:
      m -
    • VelMethodImpl

      public VelMethodImpl(Method method, boolean wrapArray)
      Since:
      1.6
    • VelMethodImpl

      private VelMethodImpl()
  • Method Details

    • invoke

      public Object invoke(Object o, Object[] actual) throws Exception
      Description copied from interface: VelMethod
      invocation method - called when the method invocation should be performed and a value returned
      Specified by:
      invoke in interface VelMethod
      Returns:
      The resulting object.
      Throws:
      Exception
      See Also:
    • doInvoke

      protected Object doInvoke(Object o, Object[] actual) throws Exception
      Offers an extension point for subclasses (in alternate Uberspects) to alter the invocation after any array wrapping or varargs handling has already been completed.
      Throws:
      Exception
      Since:
      1.6
    • isVarArg

      public boolean isVarArg()
      Returns:
      true if this method can accept a variable number of arguments
      Since:
      1.6
    • handleVarArg

      private Object[] handleVarArg(Class type, int index, Object[] actual)
      Parameters:
      type - The vararg class type (aka component type of the expected array arg)
      index - The index of the vararg in the method declaration (This will always be one less than the number of expected arguments.)
      actual - The actual parameters being passed to this method
    • isCacheable

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

      public String getMethodName()
      Description copied from interface: VelMethod
      returns the method name used
      Specified by:
      getMethodName in interface VelMethod
      Returns:
      The method name used
      See Also:
    • getReturnType

      public Class getReturnType()
      Description copied from interface: VelMethod
      returns the return type of the method invoked
      Specified by:
      getReturnType in interface VelMethod
      Returns:
      The return type of the method invoked
      See Also: