org.apache.velocity.util.introspection
Class Introspector

java.lang.Object
  |
  +--org.apache.velocity.util.introspection.IntrospectorBase
        |
        +--org.apache.velocity.util.introspection.Introspector

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,v 1.20 2001/12/05 23:44:56 jvanzyl Exp $
Author:
Jason van Zyl, Bob McWhirter, Attila Szegedi, Paulo Gaspar

Field Summary
static java.lang.String CACHEDUMP_MSG
          define a public string so that it can be looked for if interested
private  RuntimeServices rsvc
          our engine runtime services
 
Fields inherited from class org.apache.velocity.util.introspection.IntrospectorBase
cachedClassNames, classMethodMaps
 
Constructor Summary
Introspector(RuntimeServices r)
          Recieves our RuntimeServices object
 
Method Summary
protected  void clearCache()
          Clears the classmap and classname caches, and logs that we did so
 java.lang.reflect.Method getMethod(java.lang.Class c, java.lang.String name, java.lang.Object[] params)
          Gets the method defined by name and params for the Class c.
 
Methods inherited from class org.apache.velocity.util.introspection.IntrospectorBase
createClassMap
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

CACHEDUMP_MSG

public static final java.lang.String CACHEDUMP_MSG
define a public string so that it can be looked for if interested

rsvc

private RuntimeServices rsvc
our engine runtime services
Constructor Detail

Introspector

public Introspector(RuntimeServices r)
Recieves our RuntimeServices object
Method Detail

getMethod

public java.lang.reflect.Method getMethod(java.lang.Class c,
                                          java.lang.String name,
                                          java.lang.Object[] params)
                                   throws java.lang.Exception
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.

clearCache

protected void clearCache()
Clears the classmap and classname caches, and logs that we did so
Overrides:
clearCache in class IntrospectorBase


Copyright © 2003 Apache Software Foundation. All Rights Reserved.