Class IntrospectorBase

  • Direct Known Subclasses:
    Introspector

    public abstract class IntrospectorBase
    extends java.lang.Object
    Lookup a a Method object for a particular class given the name of a method and its parameters. 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 Hashtable 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, Candid Dauth
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.slf4j.Logger log
      Class logger
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.reflect.Field getField​(java.lang.Class<?> c, java.lang.String name)
      Gets the field defined by name.
      protected IntrospectorCache getIntrospectorCache()
      Return the internal IntrospectorCache object.
      java.lang.reflect.Method getMethod​(java.lang.Class<?> c, java.lang.String name, java.lang.Object[] params)
      Gets the method defined by name and params for the Class c.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • log

        protected final org.slf4j.Logger log
        Class logger
    • Constructor Detail

      • IntrospectorBase

        protected IntrospectorBase​(org.slf4j.Logger log,
                                   TypeConversionHandler conversionHandler)
        C'tor.
        Parameters:
        log - logger
        conversionHandler - conversion handler
    • Method Detail

      • getMethod

        public java.lang.reflect.Method getMethod​(java.lang.Class<?> c,
                                                  java.lang.String name,
                                                  java.lang.Object[] params)
                                           throws MethodMap.AmbiguousException
        Gets the method defined by name and params for the Class c.
        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:
        java.lang.NullPointerException - When the parameters passed in can not be used for introspection because null.
        MethodMap.AmbiguousException - When the method map contains more than one match for the requested signature.
      • getField

        public java.lang.reflect.Field getField​(java.lang.Class<?> c,
                                                java.lang.String name)
                                         throws java.lang.IllegalArgumentException
        Gets the field defined by name.
        Parameters:
        c - Class in which the method search is taking place
        name - Name of the field being searched for
        Returns:
        The desired Field object.
        Throws:
        java.lang.IllegalArgumentException - When the parameters passed in can not be used for introspection.
      • getIntrospectorCache

        protected IntrospectorCache getIntrospectorCache()
        Return the internal IntrospectorCache object.
        Returns:
        The internal IntrospectorCache object.
        Since:
        1.5