org.apache.commons.jexl.util.introspection
Class ClassMap

java.lang.Object
  |
  +--org.apache.commons.jexl.util.introspection.ClassMap

public class ClassMap
extends Object

Taken from the Velocity tree so we can be self-sufficient A cache of introspection information for a specific class instance. Keys java.lang.Method objects by a concatenation of the method name and the names of classes that make up the parameters.

Since:
1.0
Version:
$Id: ClassMap.java 398459 2006-04-30 23:14:30Z dion $

Constructor Summary
ClassMap(Class aClass)
          Standard constructor.
 
Method Summary
 Method findMethod(String name, Object[] params)
          Find a Method using the methodKey provided.
static Method getPublicMethod(Method method)
          For a given method, retrieves its publicly accessible counterpart.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassMap

public ClassMap(Class aClass)
Standard constructor.

Parameters:
aClass - the class to deconstruct.
Method Detail

findMethod

public Method findMethod(String name,
                         Object[] params)
                  throws MethodMap.AmbiguousException
Find a Method using the methodKey provided. Look in the methodMap for an entry. If found, it'll either be a CACHE_MISS, in which case we simply give up, or it'll be a Method, in which case, we return it. If nothing is found, then we must actually go and introspect the method from the MethodMap.

Parameters:
name - method name
params - method parameters
Returns:
CACHE_MISS or a Method
Throws:
MethodMap.AmbiguousException - if the method and parameters are ambiguous.

getPublicMethod

public static Method getPublicMethod(Method method)
For a given method, retrieves its publicly accessible counterpart. This method will look for a method with same name and signature declared in a public superclass or implemented interface of this method's declaring class. This counterpart method is publicly callable.

Parameters:
method - a method whose publicly callable counterpart is requested.
Returns:
the publicly callable counterpart method. Note that if the parameter method is itself declared by a public class, this method is an identity function.


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