Class ClassMap
- java.lang.Object
-
- org.apache.velocity.util.introspection.ClassMap
-
public class ClassMap extends java.lang.Object
A cache of introspection information for a specific class instance. KeysMethod
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 codeprivate Log
log
Class loggerprivate ClassMap.MethodCache
methodCache
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private ClassMap.MethodCache
createMethodCache()
Populate the Map of direct hits.java.lang.reflect.Method
findMethod(java.lang.String name, java.lang.Object[] params)
Find a Method using the method name and parameter objects.java.lang.Class
getCachedClass()
Returns the class object whose methods are cached by this map.private void
populateMethodCacheWith(ClassMap.MethodCache methodCache, java.lang.Class classToReflect)
private void
populateMethodCacheWithInterface(ClassMap.MethodCache methodCache, java.lang.Class iface)
-
-
-
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.
-
methodCache
private final ClassMap.MethodCache methodCache
-
-
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)
-
-