|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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 for
| 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 | |
|---|---|
java.lang.reflect.Constructor<?> |
getConstructor(java.lang.Class<?> c,
MethodKey key)
Gets the constructor defined by the MethodKey. |
java.lang.reflect.Constructor<?> |
getConstructor(MethodKey key)
Gets the constructor defined by the MethodKey. |
java.lang.reflect.Field |
getField(java.lang.Class<?> c,
java.lang.String key)
Gets the field named by key for the class c. |
java.lang.String[] |
getFieldNames(java.lang.Class<?> c)
Gets the array of accessible field names known for a given class. |
java.lang.reflect.Method |
getMethod(java.lang.Class<?> c,
MethodKey key)
Gets the method defined by the MethodKey for the class c. |
java.lang.String[] |
getMethodNames(java.lang.Class<?> c)
Gets the array of accessible methods names known for a given class. |
void |
setLoader(java.lang.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 use| Method Detail |
|---|
public java.lang.reflect.Method getMethod(java.lang.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
java.lang.IllegalArgumentException - When the parameters passed in can not be used for introspection.
public java.lang.reflect.Field getField(java.lang.Class<?> c,
java.lang.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 java.lang.String[] getFieldNames(java.lang.Class<?> c)
c - the class
public java.lang.String[] getMethodNames(java.lang.Class<?> c)
c - the class
public void setLoader(java.lang.ClassLoader cloader)
Also cleans the constructors cache.
cloader - the class loader; if null, use this instance class loaderpublic java.lang.reflect.Constructor<?> getConstructor(MethodKey key)
MethodKey.
key - Key of the constructor being searched for
java.lang.IllegalArgumentException - When the parameters passed in can not be used for introspection.
public java.lang.reflect.Constructor<?> getConstructor(java.lang.Class<?> c,
MethodKey key)
MethodKey.
c - the class we want to instantiatekey - Key of the constructor being searched for
java.lang.IllegalArgumentException - When the parameters passed in can not be used for introspection.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||