org.apache.commons.jexl.util.introspection
Class IntrospectorBase
java.lang.Object
|
+--org.apache.commons.jexl.util.introspection.IntrospectorBase
- Direct Known Subclasses:
- Introspector
- public class IntrospectorBase
- extends Object
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
- 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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
classMethodMaps
protected Map classMethodMaps
- Holds the method maps for the classes we know about, keyed by Class
object.
cachedClassNames
protected Set cachedClassNames
- Holds the qualified class names for the classes we hold in the
classMethodMaps hash.
IntrospectorBase
public IntrospectorBase()
getMethod
public Method getMethod(Class c,
String name,
Object[] params)
throws Exception
- Gets the method defined by
name
and params
for the Class c
.
- Parameters:
c
- Class in which the method search is taking placename
- Name of the method being searched forparams
- An array of Objects (not Classes) that describe the the
parameters- Returns:
- The desired Method object.
- Throws:
Exception
- on any logical error.
createClassMap
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.- Returns:
- a
ClassMap
clearCache
protected void clearCache()
- Clears the classmap and classname caches.
Copyright © 2003-2006 The Apache Software Foundation. All Rights Reserved.