Class ClassMap

java.lang.Object
org.apache.velocity.util.introspection.ClassMap

public class ClassMap extends Object
A cache of introspection information for a specific class instance. Keys Method objects by a concatenation of the method name and the names of classes that make up the parameters.
Version:
$Id: ClassMap.java 778038 2009-05-23 21:52:50Z nbubna $
  • Field Details

    • debugReflection

      private static final boolean debugReflection
      Set true if you want to debug the reflection code
      See Also:
    • log

      private final Log log
      Class logger
    • clazz

      private final Class clazz
      Class passed into the constructor used to as the basis for the Method map.
    • methodCache

      private final ClassMap.MethodCache methodCache
  • Constructor Details

    • ClassMap

      public ClassMap(Class clazz, Log log)
      Standard constructor
      Parameters:
      clazz - The class for which this ClassMap gets constructed.
  • Method Details

    • getCachedClass

      public Class getCachedClass()
      Returns the class object whose methods are cached by this map.
      Returns:
      The class object whose methods are cached by this map.
    • findMethod

      public Method findMethod(String name, Object[] params) throws MethodMap.AmbiguousException
      Find a Method using the method name and parameter objects.
      Parameters:
      name - The method name to look up.
      params - An array of parameters for the method.
      Returns:
      A Method object representing the method to invoke or null.
      Throws:
      MethodMap.AmbiguousException - When more than one method is a match for the parameters.
    • createMethodCache

      private ClassMap.MethodCache createMethodCache()
      Populate the Map of direct hits. These are taken from all the public methods that our class, its parents and their implemented interfaces provide.
    • populateMethodCacheWithInterface

      private void populateMethodCacheWithInterface(ClassMap.MethodCache methodCache, Class iface)
    • populateMethodCacheWith

      private void populateMethodCacheWith(ClassMap.MethodCache methodCache, Class classToReflect)