org.apache.commons.jexl.util.introspection

Class 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
MethodfindMethod(String name, Object[] params)
Find a Method using the methodKey provided.
static MethodgetPublicMethod(Method method)
For a given method, retrieves its publicly accessible counterpart.

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