Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl2.internal.introspection
Class IntrospectorBase

    java.lang.Object
      org.apache.commons.jexl2.internal.introspection.IntrospectorBase

    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.

Since:
  1.0

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

### rlog

    protected final org.apache.commons.logging.Log rlog

  the logger.

Constructor Detail

### IntrospectorBase

    public IntrospectorBase(org.apache.commons.logging.Log log)

  Create the introspector.

  Parameters:
    `log` - the logger to use

Method Detail

### getClassByName

    public Class<?> getClassByName(String className)

  Gets a class by name through this introspector class loader.

  Parameters:
    `className` - the class name
  Returns:
    the class instance or null if it could not be found

### getMethod

    public Method getMethod(Class<?> c,
                            MethodKey key)

  Gets the method defined by the `MethodKey` for the class `c`.

  Parameters:
    `c` - Class in which the method search is taking place
    `key` - Key of the method being searched for
  Returns:
    The desired method object
  Throws:
    `MethodKey.AmbiguousException` - if no unambiguous method could be found through introspection

### getField

    public Field getField(Class<?> c,
                          String key)

  Gets the field named by `key` for the class `c`.

  Parameters:
    `c` - Class in which the field search is taking place
    `key` - Name of the field being searched for
  Returns:
    the desired field or null if it does not exist or is not accessible

### getFieldNames

    public String[] getFieldNames(Class<?> c)

  Gets the array of accessible field names known for a given class.

  Parameters:
    `c` - the class
  Returns:
    the class field names

### getMethodNames

    public String[] getMethodNames(Class<?> c)

  Gets the array of accessible methods names known for a given class.

  Parameters:
    `c` - the class
  Returns:
    the class method names

### getMethods

    public Method[] getMethods(Class<?> c,
                               String methodName)

  Gets the array of accessible method known for a given class.

  Parameters:
    `c` - the class
    `methodName` - the method name
  Returns:
    the array of methods (null or not empty)

### setLoader

    public void setLoader(ClassLoader cloader)

  Sets the class loader used to solve constructors.

  Also cleans the constructors and methods caches.

  Parameters:
    `cloader` - the class loader; if null, use this instance class loader

### getConstructor

    public Constructor<?> getConstructor(MethodKey key)

  Gets the constructor defined by the `MethodKey`.

  Parameters:
    `key` - Key of the constructor being searched for
  Returns:
    The desired constructor object or null if no unambiguous constructor could be found through introspection.

### getConstructor

    public Constructor<?> getConstructor(Class<?> c,
                                         MethodKey key)

  Gets the constructor defined by the `MethodKey`.

  Parameters:
    `c` - the class we want to instantiate
    `key` - Key of the constructor being searched for
  Returns:
    The desired constructor object or null if no unambiguous constructor could be found through introspection.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.