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.velocity.util.introspection
Class IntrospectorBase

    java.lang.Object
      org.apache.velocity.util.introspection.IntrospectorBase

Direct Known Subclasses:
  Introspector

public abstract class IntrospectorBase
extends Object

Lookup a a Method object for a particular class given the name of a method and its parameters. 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 Hashtable 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.

Version:
  $Id: IntrospectorBase.java 685685 2008-08-13 21:43:27Z nbubna $
Author:
  Jason van Zyl, Bob McWhirter, Attila Szegedi, Paulo Gaspar, Henning P. Schmiedehausen

Field Summary
`protected Log` | `log` Class logger

Constructor Summary
`protected` | `IntrospectorBase(Log log)` C'tor.

Method Summary
`protected IntrospectorCache` | `getIntrospectorCache()` Return the internal IntrospectorCache object.
`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

### log

    protected final Log log

  Class logger

Constructor Detail

### IntrospectorBase

    protected IntrospectorBase(Log log)

  C'tor.

Method Detail

### getMethod

    public Method getMethod(Class c,
                            String name,
                            Object[] params)
                     throws IllegalArgumentException,
                            MethodMap.AmbiguousException

  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:
    `IllegalArgumentException` - When the parameters passed in can not be used for introspection.
    `MethodMap.AmbiguousException` - When the method map contains more than one match for the requested signature.

### getIntrospectorCache

    protected IntrospectorCache getIntrospectorCache()

  Return the internal IntrospectorCache object.

  Returns:
    The internal IntrospectorCache object.
  Since:
    1.5

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 © 2000-2010 Apache Software Foundation. All Rights Reserved.