Class ClassMap


  • public class ClassMap
    extends java.lang.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 $
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  ClassMap.MethodCache
      This is the cache to store and look up the method information.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Class clazz
      Class passed into the constructor used to as the basis for the Method map.
      private static boolean debugReflection
      Set true if you want to debug the reflection code
      private Log log
      Class logger
      private ClassMap.MethodCache methodCache  
    • Constructor Summary

      Constructors 
      Constructor Description
      ClassMap​(java.lang.Class clazz, Log log)
      Standard constructor
    • Field Detail

      • debugReflection

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

        private final Log log
        Class logger
      • clazz

        private final java.lang.Class clazz
        Class passed into the constructor used to as the basis for the Method map.
    • Constructor Detail

      • ClassMap

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

      • getCachedClass

        public java.lang.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 java.lang.reflect.Method findMethod​(java.lang.String name,
                                                   java.lang.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,
                                                      java.lang.Class iface)
      • populateMethodCacheWith

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