|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.velocity.util.introspection.IntrospectorBase
public abstract class IntrospectorBase
Lookup a a Method object for a particular class given the name of a method and its parameters. The first time the Introspector sees a class it creates a class method map for the class in question. Basically the class method map is a Hashtable where Method objects are keyed by a concatenation of the method name and the names of classes that make up the parameters. For example, a method with the following signature: public void method(String a, StringBuffer b) would be mapped by the key: "method" + "java.lang.String" + "java.lang.StringBuffer" This mapping is performed for all the methods in a class and stored for.
Field Summary | |
---|---|
protected Log |
log
Class logger |
Constructor Summary | |
---|---|
protected |
IntrospectorBase(Log log)
C'tor. |
Method Summary | |
---|---|
protected void |
clearCache()
Deprecated. Use getIntrospectorCache().clear(); |
protected ClassMap |
createClassMap(Class c)
Deprecated. Use getIntrospectorCache().put(c); |
protected IntrospectorCache |
getIntrospectorCache()
Return the internal IntrospectorCache object. |
Method |
getMethod(Class c,
String name,
Object[] params)
Gets the method defined by name and
params for the Class c . |
protected ClassMap |
lookupClassMap(Class c)
Deprecated. Use getIntrospectorCache().get(c); |
void |
triggerClear()
Gets called when the Cache is cleared. |
void |
triggerGet(Class c,
ClassMap classMap)
Gets called when a ClassMap is requested from the Cache. |
void |
triggerPut(Class c,
ClassMap classMap)
Gets called when a ClassMap is put into the Cache. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Log log
Constructor Detail |
---|
protected IntrospectorBase(Log log)
Method Detail |
---|
public Method getMethod(Class c, String name, Object[] params) throws IllegalArgumentException, MethodMap.AmbiguousException
name
and
params
for the Class c
.
c
- Class in which the method search is taking placename
- Name of the method being searched forparams
- An array of Objects (not Classes) that describe the
the parameters
IllegalArgumentException
- When the parameters passed in can not be used for introspection.
MethodMap.AmbiguousException
- When the method map contains more than one match for the requested signature.protected IntrospectorCache getIntrospectorCache()
protected void clearCache()
protected ClassMap createClassMap(Class c)
c
- The class for which the class map gets generated.
protected ClassMap lookupClassMap(Class c)
c
- The class to look up.
public void triggerClear()
IntrospectorCacheListener
triggerClear
in interface IntrospectorCacheListener
IntrospectorCacheListener.triggerClear()
public void triggerGet(Class c, ClassMap classMap)
IntrospectorCacheListener
triggerGet
in interface IntrospectorCacheListener
c
- The class object to look up.classMap
- The Class map to return. Might be null.IntrospectorCacheListener.triggerGet(Class, ClassMap)
public void triggerPut(Class c, ClassMap classMap)
IntrospectorCacheListener
triggerPut
in interface IntrospectorCacheListener
c
- The class object to look up.classMap
- The Class map stored in the Cache. Is never null.IntrospectorCacheListener.triggerPut(Class, ClassMap)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |