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

## 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.

Constructor Summary
`IntrospectorBase()`

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.
`Method` | `getMethod(Class c, String name, Object[] params)` Gets the method defined by `name` and `params` for the Class `c`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### 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.

Constructor Detail

### IntrospectorBase

    public IntrospectorBase()

Method Detail

### 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 place
    `name` - Name of the method being searched for
    `params` - 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.

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

Copyright © 2003-2006 The Apache Software Foundation. All Rights Reserved.