org.apache.velocity.util.introspection
Class Introspector

java.lang.Object
  extended by org.apache.velocity.util.introspection.IntrospectorBase
      extended by 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
 
Fields inherited from class org.apache.velocity.util.introspection.IntrospectorBase
log
 
Constructor Summary
Introspector(Log log)
           
Introspector(RuntimeLogger logger)
          Deprecated. RuntimeLogger is deprecated. Use Introspector(Log log).
 
Method Summary
 Method getMethod(Class c, String name, Object[] params)
          Gets the method defined by name and params for the Class c.
 void triggerClear()
          Logs that the Introspector Cache has been cleared.
 
Methods inherited from class org.apache.velocity.util.introspection.IntrospectorBase
clearCache, createClassMap, getIntrospectorCache, lookupClassMap, triggerGet, triggerPut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

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.
Method Detail

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 place
name - Name of the method being searched for
params - 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.