org.apache.velocity.util.introspection
Class Introspector
java.lang.Object
org.apache.velocity.util.introspection.IntrospectorBase
org.apache.velocity.util.introspection.Introspector
- All Implemented Interfaces:
- IntrospectorCacheListener
- Direct Known Subclasses:
- SecureIntrospectorImpl
public class Introspector
- extends IntrospectorBase
This basic function of this class is to return a Method
object for a particular class given the name of a method
and the parameters to the method in the form of an Object[]
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 Hastable 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
- Version:
- $Id: Introspector.java 477003 2006-11-20 01:14:22Z henning $
- Author:
- Jason van Zyl, Bob McWhirter, Attila Szegedi, Paulo Gaspar, Henning P. Schmiedehausen
Field Summary |
static String |
CACHEDUMP_MSG
define a public string so that it can be looked for
if interested |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CACHEDUMP_MSG
public static final String CACHEDUMP_MSG
- define a public string so that it can be looked for
if interested
- See Also:
- Constant Field Values
Introspector
public Introspector(Log log)
- Parameters:
log
- A Log object to use for the introspector.
Introspector
public Introspector(RuntimeLogger logger)
- Deprecated. RuntimeLogger is deprecated. Use Introspector(Log log).
- Parameters:
logger
- A runtime logger object.
getMethod
public Method getMethod(Class c,
String name,
Object[] params)
throws IllegalArgumentException
- Gets the method defined by
name
and
params
for the Class c
.
- Overrides:
getMethod
in class IntrospectorBase
- Parameters:
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
- Returns:
- The desired Method object.
- Throws:
IllegalArgumentException
- When the parameters passed in can not be used for introspection.
triggerClear
public void triggerClear()
- Logs that the Introspector Cache has been cleared.
- Specified by:
triggerClear
in interface IntrospectorCacheListener
- Overrides:
triggerClear
in class IntrospectorBase
- See Also:
IntrospectorCacheListener.triggerClear()
Copyright © 2000-2007 The Apache Software Foundation. All Rights Reserved.