| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--org.apache.velocity.util.introspection.ClassMap
A cache of introspection information for a specific class instance.
 Keys java.lang.Method objects by a concatenation of the
 method name and the names of classes that make up the parameters.
| Inner Class Summary | |
private static class | 
ClassMap.CacheMiss
 | 
private static class | 
ClassMap.MethodInfo
Used for the iterative discovery process for public methods.  | 
| Field Summary | |
private static ClassMap.CacheMiss | 
CACHE_MISS
 | 
private  java.lang.Class | 
clazz
Class passed into the constructor used to as the basis for the Method map.  | 
private  java.util.Map | 
methodCache
Cache of Methods, or CACHE_MISS, keyed by method name and actual arguments used to find it.  | 
private  MethodMap | 
methodMap
 | 
private static java.lang.Object | 
OBJECT
 | 
| Constructor Summary | |
private  | 
ClassMap()
 | 
  | 
ClassMap(java.lang.Class clazz)
Standard constructor  | 
| Method Summary | |
 java.lang.reflect.Method | 
findMethod(java.lang.String name,
           java.lang.Object[] params)
Find a Method using the methodKey provided.  | 
private static java.lang.reflect.Method[] | 
getAccessibleMethods(java.lang.Class clazz)
Retrieves public methods for a class.  | 
private static int | 
getAccessibleMethods(java.lang.Class clazz,
                     ClassMap.MethodInfo[] methodInfos,
                     int upcastCount)
Recursively finds a match for each method, starting with the class, and then searching the superclass and interfaces.  | 
(package private)  java.lang.Class | 
getCachedClass()
 | 
private static java.lang.reflect.Method | 
getPublicMethod(java.lang.Class clazz,
                java.lang.String name,
                java.lang.Class[] paramTypes)
Looks up the method with specified name and signature in the first public superclass or implemented interface of the class.  | 
static java.lang.reflect.Method | 
getPublicMethod(java.lang.reflect.Method method)
For a given method, retrieves its publicly accessible counterpart.  | 
private  java.lang.String | 
makeMethodKey(java.lang.reflect.Method method)
Make a methodKey for the given method using the concatenation of the name and the types of the method parameters.  | 
private static java.lang.String | 
makeMethodKey(java.lang.String method,
              java.lang.Object[] params)
 | 
private  void | 
populateMethodCache()
Populate the Map of direct hits.  | 
| Methods inherited from class java.lang.Object | 
 | 
| Field Detail | 
private static final ClassMap.CacheMiss CACHE_MISS
private static final java.lang.Object OBJECT
private java.lang.Class clazz
private java.util.Map methodCache
private MethodMap methodMap
| Constructor Detail | 
public ClassMap(java.lang.Class clazz)
private ClassMap()
| Method Detail | 
java.lang.Class getCachedClass()
public java.lang.reflect.Method findMethod(java.lang.String name,
                                           java.lang.Object[] params)
                                    throws MethodMap.AmbiguousException
private void populateMethodCache()
private java.lang.String makeMethodKey(java.lang.reflect.Method method)
private static java.lang.String makeMethodKey(java.lang.String method,
                                              java.lang.Object[] params)
private static java.lang.reflect.Method[] getAccessibleMethods(java.lang.Class clazz)
private static int getAccessibleMethods(java.lang.Class clazz,
                                        ClassMap.MethodInfo[] methodInfos,
                                        int upcastCount)
clazz - Class to checkmethodInfos - array of methods we are searching to matchupcastCount - current number of methods we have matchedpublic static java.lang.reflect.Method getPublicMethod(java.lang.reflect.Method method)
method - a method whose publicly callable counterpart is requested.
private static java.lang.reflect.Method getPublicMethod(java.lang.Class clazz,
                                                        java.lang.String name,
                                                        java.lang.Class[] paramTypes)
class - the class whose method is soughtname - the name of the methodparamTypes - the classes of method parameters
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||