org.apache.velocity.util.introspection
Class ClassMap

java.lang.Object
  extended by org.apache.velocity.util.introspection.ClassMap

public class ClassMap
extends Object

A cache of introspection information for a specific class instance. Keys Method objects by a concatenation of the method name and the names of classes that make up the parameters.

Version:
$Id: ClassMap.java 191743 2005-06-21 23:22:20Z dlr $
Author:
Jason van Zyl, Bob McWhirter, Attila Szegedi, Geir Magnusson Jr.

Constructor Summary
ClassMap(Class clazz)
          Standard constructor
 
Method Summary
 Method findMethod(String name, Object[] params)
          Find a Method using the methodKey provided.
static Method getPublicMethod(Method method)
          For a given method, retrieves its publicly accessible counterpart.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassMap

public ClassMap(Class clazz)
Standard constructor

Method Detail

findMethod

public Method findMethod(String name,
                         Object[] params)
                  throws MethodMap.AmbiguousException
Find a Method using the methodKey provided. Look in the methodMap for an entry. If found, it'll either be a CACHE_MISS, in which case we simply give up, or it'll be a Method, in which case, we return it. If nothing is found, then we must actually go and introspect the method from the MethodMap.

Throws:
MethodMap.AmbiguousException

getPublicMethod

public static Method getPublicMethod(Method method)
For a given method, retrieves its publicly accessible counterpart. This method will look for a method with same name and signature declared in a public superclass or implemented interface of this method's declaring class. This counterpart method is publicly callable.

Parameters:
method - a method whose publicly callable counterpart is requested.
Returns:
the publicly callable counterpart method. Note that if the parameter method is itself declared by a public class, this method is an identity function.


Copyright © 2002 Apache Software Foundation. All Rights Reserved.