|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.jexl2.internal.introspection.IntrospectorBase
public class 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.
Field Summary | |
---|---|
protected org.apache.commons.logging.Log |
rlog
the logger. |
Constructor Summary | |
---|---|
IntrospectorBase(org.apache.commons.logging.Log log)
Create the introspector. |
Method Summary | |
---|---|
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 key for the class c . |
String[] |
getFieldNames(Class<?> c)
Gets the array of accessible field names known for a given class. |
Method |
getMethod(Class<?> c,
MethodKey key)
Gets the method defined by the MethodKey for the class c . |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final org.apache.commons.logging.Log rlog
Constructor Detail |
---|
public IntrospectorBase(org.apache.commons.logging.Log log)
log
- the logger to useMethod Detail |
---|
public Class<?> getClassByName(String className)
className
- the class name
public 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 for
MethodKey.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 for
public String[] getFieldNames(Class<?> c)
c
- the class
public String[] getMethodNames(Class<?> c)
c
- the class
public Method[] getMethods(Class<?> c, String methodName)
c
- the classmethodName
- the method name
public void setLoader(ClassLoader cloader)
Also cleans the constructors and methods caches.
cloader
- the class loader; if null, use this instance class loaderpublic Constructor<?> getConstructor(MethodKey key)
MethodKey
.
key
- Key of the constructor being searched for
public Constructor<?> getConstructor(Class<?> c, MethodKey key)
MethodKey
.
c
- the class we want to instantiatekey
- Key of the constructor being searched for
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |