| java.lang.Object org.apache.commons.jexl.util.introspection.IntrospectorBase
All known Subclasses: org.apache.commons.jexl.util.introspection.Introspector,
IntrospectorBase | public class IntrospectorBase (Code) | | 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
since: 1.0 author: Jason van Zyl author: Bob McWhirter author: Attila Szegedi author: Paulo Gaspar version: $Id: IntrospectorBase.java 398464 2006-04-30 23:50:43Z dion $ |
Field Summary | |
protected Set | cachedClassNames Holds the qualified class names for the classes we hold in the
classMethodMaps hash. | protected Map | classMethodMaps Holds the method maps for the classes we know about, keyed by Class
object. |
Method Summary | |
protected void | clearCache() Clears the classmap and classname caches. | protected ClassMap | createClassMap(Class c) Creates a class map for specific class and registers it in the cache.
Also adds the qualified name to the name->class map for later Classloader
change detection.
Parameters: c - class. | public Method | getMethod(Class c, String name, Object[] params) Gets the method defined by name and params
for the Class c . |
cachedClassNames | protected Set cachedClassNames(Code) | | Holds the qualified class names for the classes we hold in the
classMethodMaps hash.
|
classMethodMaps | protected Map classMethodMaps(Code) | | Holds the method maps for the classes we know about, keyed by Class
object.
|
clearCache | protected void clearCache()(Code) | | Clears the classmap and classname caches.
|
createClassMap | protected ClassMap createClassMap(Class c)(Code) | | Creates a class map for specific class and registers it in the cache.
Also adds the qualified name to the name->class map for later Classloader
change detection.
Parameters: c - class. a ClassMap |
getMethod | public Method getMethod(Class c, String name, Object[] params) throws Exception(Code) | | Gets the method defined by name and params
for the Class c .
Parameters: c - Class in which the method search is taking place Parameters: name - Name of the method being searched for Parameters: params - An array of Objects (not Classes) that describe the theparameters The desired Method object. throws: Exception - on any logical error. |
|
|