Class 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 Detail

      • ClassMap

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

        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.