Class Introspector

  • Direct Known Subclasses:
    SecureIntrospectorImpl

    public class Introspector
    extends IntrospectorBase
    This basic function of this class is to return a Method object for a particular class given the name of a method and the parameters to the method in the form of an Object[] The first time the Introspector sees a class it creates a class method map for the class in question. Basically the class method map is a Hastable where Method objects are keyed by a concatenation of the method name and the names of classes that make up the parameters. For example, a method with the following signature: public void method(String a, StringBuffer b) would be mapped by the key: "method" + "java.lang.String" + "java.lang.StringBuffer" This mapping is performed for all the methods in a class and stored for
    Version:
    $Id$
    Author:
    Jason van Zyl, Bob McWhirter, Attila Szegedi, Paulo Gaspar, Henning P. Schmiedehausen
    • Constructor Detail

      • Introspector

        public Introspector​(org.slf4j.Logger log)
        Parameters:
        log - A Logger object to use for the introspector.
        Since:
        1.5
      • Introspector

        public Introspector​(org.slf4j.Logger log,
                            TypeConversionHandler conversionHandler)
        Parameters:
        log - A Logger object to use for the introspector.
        conversionHandler - conversion handler
        Since:
        2.0
    • Method Detail

      • getMethod

        public Method getMethod​(Class<?> c,
                                String name,
                                Object[] params)
                         throws IllegalArgumentException
        Gets the method defined by name and params for the Class c.
        Overrides:
        getMethod in class IntrospectorBase
        Parameters:
        c - Class in which the method search is taking place
        name - Name of the method being searched for
        params - An array of Objects (not Classes) that describe the the parameters
        Returns:
        The desired Method object.
        Throws:
        IllegalArgumentException - When the parameters passed in can not be used for introspection.