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: Introspector.java 687177 2008-08-19 22:00:32Z nbubna $
  • Constructor Details

    • Introspector

      public Introspector(Log log)
      Parameters:
      log - A Log object to use for the introspector.
      Since:
      1.5
    • Introspector

      public Introspector(RuntimeLogger logger)
      Deprecated.
      RuntimeLogger is deprecated. Use Introspector(Log log).
      Parameters:
      logger - A runtime logger object.
  • 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.