public final class Introspector extends 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 Hashtable where Method objects are keyed by the aggregation of the method name and the array of parameters classes. This mapping is performed for all the public methods of a class and stored.
| Constructor and Description | 
|---|
| Introspector(org.apache.commons.logging.Log log,
            ClassLoader cloader)Create the introspector. | 
| Introspector(org.apache.commons.logging.Log log,
            ClassLoader cloader,
            Permissions perms)Create the introspector. | 
| Modifier and Type | Method and Description | 
|---|---|
| Class<?> | getClassByName(String className)Gets a class by name through this introspector class loader. | 
| Constructor<?> | getConstructor(Class<?> c,
              MethodKey key)Gets the constructor defined by the  MethodKey. | 
| Constructor<?> | getConstructor(MethodKey key)Gets the constructor defined by the  MethodKey. | 
| Field | getField(Class<?> c,
        String key)Gets the field named by  keyfor the classc. | 
| String[] | getFieldNames(Class<?> c)Gets the array of accessible field names known for a given class. | 
| ClassLoader | getLoader()Gets the class loader used by this introspector. | 
| Method | getMethod(Class<?> c,
         MethodKey key)Gets the method defined by the  MethodKeyfor the classc. | 
| Method | getMethod(Class<?> c,
         String name,
         Object[] params)Gets a method defined by a class, a name and a set of parameters. | 
| String[] | getMethodNames(Class<?> c)Gets the array of accessible methods names known for a given class. | 
| Method[] | getMethods(Class<?> c,
          String methodName)Gets the array of accessible method known for a given class. | 
| void | setLoader(ClassLoader cloader)Sets the class loader used to solve constructors. | 
public Introspector(org.apache.commons.logging.Log log,
                    ClassLoader cloader)
log - the logger to usecloader - the class loaderpublic Introspector(org.apache.commons.logging.Log log,
                    ClassLoader cloader,
                    Permissions perms)
log - the logger to usecloader - the class loaderperms - the permissionspublic Class<?> getClassByName(String className)
className - the class namepublic Method getMethod(Class<?> c, String name, Object[] params)
c - the classname - the method nameparams - the method parametersMethodKey.AmbiguousException - if no unambiguous method could be found through introspectionpublic Method getMethod(Class<?> c, MethodKey key)
MethodKey for the class c.c - Class in which the method search is taking placekey - Key of the method being searched forMethodKey.AmbiguousException - if no unambiguous method could be found through introspectionpublic Field getField(Class<?> c, String key)
key for the class c.c - Class in which the field search is taking placekey - Name of the field being searched forpublic String[] getFieldNames(Class<?> c)
c - the classpublic String[] getMethodNames(Class<?> c)
c - the classpublic Method[] getMethods(Class<?> c, String methodName)
c - the classmethodName - the method namepublic Constructor<?> getConstructor(MethodKey key)
MethodKey.key - Key of the constructor being searched forpublic Constructor<?> getConstructor(Class<?> c, MethodKey key)
MethodKey.c - the class we want to instantiatekey - Key of the constructor being searched forpublic void setLoader(ClassLoader cloader)
Also cleans the constructors and methods caches.
cloader - the class loader; if null, use this instance class loaderpublic ClassLoader getLoader()
Copyright © 2001–2021 The Apache Software Foundation. All rights reserved.