java.lang.Object
org.codehaus.plexus.interpolation.reflection.ClassMap

public class ClassMap extends 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.

Author:
Jason van Zyl, Bob McWhirter, Attila Szegedi, Geir Magnusson Jr.
  • Constructor Details

    • ClassMap

      public ClassMap(Class<?> clazz)
      Standard constructor
      Parameters:
      clazz - The class to be analyzed.
  • 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.

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