Package org.apache.velocity.util.introspection

# Class Introspector

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

Direct Known Subclasses:
  `SecureIntrospectorImpl`

public class Introspector extends 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

Version:
  $Id$
Author:
  Jason van Zyl, Bob McWhirter, Attila Szegedi, Paulo Gaspar, Henning P. Schmiedehausen

## Field Summary

### Fields inherited from class org.apache.velocity.util.introspection.IntrospectorBase

`log`

## Constructor Summary

Constructors
Constructor
Description
`Introspector(org.slf4j.Logger log)`
`Introspector(org.slf4j.Logger log, TypeConversionHandler conversionHandler)`

## Method Summary

Modifier and Type
Method
Description
`Method`
`getMethod(Class<?> c, String name, Object[] params)`
Gets the method defined by `name` and `params` for the Class `c`.

### Methods inherited from class org.apache.velocity.util.introspection.IntrospectorBase

`getField, getIntrospectorCache`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Introspector

public Introspector(org.slf4j.Logger log)

Parameters:
  `log` - A Logger object to use for the introspector.
Since:
  1.5

### Introspector

public Introspector(org.slf4j.Logger log, TypeConversionHandler conversionHandler)

Parameters:
  `log` - A Logger object to use for the introspector.
  `conversionHandler` - conversion handler
Since:
  2.0

## Method Details

### getMethod

public Method getMethod(Class<?> c, String name, Object[] params) throws IllegalArgumentException
Gets the method defined by `name` and `params` for the Class `c`.

Overrides:
  `getMethod` in class `IntrospectorBase`
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.