Class ClassMap
- java.lang.Object
-
- org.codehaus.plexus.interpolation.reflection.ClassMap
-
public class ClassMap extends java.lang.Object
NOTE: This class was copied from plexus-utils, to allow this library to stand completely self-contained.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.
-
-
Constructor Summary
Constructors Constructor Description ClassMap(java.lang.Class<?> clazz)
Standard constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.reflect.Method
findMethod(java.lang.String name, java.lang.Object[] params)
Find a Method using the methodKey provided.static java.lang.reflect.Method
getPublicMethod(java.lang.reflect.Method method)
For a given method, retrieves its publicly accessible counterpart.
-
-
-
Method Detail
-
findMethod
public java.lang.reflect.Method findMethod(java.lang.String name, java.lang.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.
- Parameters:
name
- name of the method.params
- The parameters for the method.- Returns:
Method
.- Throws:
MethodMap.AmbiguousException
- in case of an error.
-
getPublicMethod
public static java.lang.reflect.Method getPublicMethod(java.lang.reflect.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.
-
-