org.codehaus.plexus.util.introspection

Class ClassMap


public class ClassMap
extends java.lang.Object

A cache of introspection information for a specific class instance. Keys java.lang.Method objects by a concatenation of the method name and the names of classes that make up the parameters.
Version:
$Id: ClassMap.java 5958 2007-02-28 10:29:55Z olamy $
Authors:
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.

Constructor Details

ClassMap

public ClassMap(Class clazz)
Standard constructor

Method Details

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.


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.