org.apache.hivemind.methodmatch
Class MethodMatcher

java.lang.Object
  extended by org.apache.hivemind.methodmatch.MethodMatcher

public class MethodMatcher
extends java.lang.Object

A utility class used for matching a MethodSignature against a method pattern (this is primarily used by interceptor factories). A method pattern consists of a name pattern and an optional parameters pattern.

The name pattern matches against the method name, and can be one of the following:

The parameters pattern follows the name pattern and is optional. It is used to check the number of parameters, or their types. When the parameters pattern is omitted, then the number and types of parameters are not considred when matching methods.

The parameters pattern, when present, is contained within open and closed parenthis after the method pattern. Inside the parenthesis may be a number, indicating the exact number of method parameters to match against. Alternately, a comma-seperated list of Java types is used, which matches against a method that takes the exact set of parameters. Examples:

Author:
Howard Lewis Ship

Constructor Summary
MethodMatcher()
           
MethodMatcher(java.lang.Object defaultValue)
          Constructor that takes a default value returned when no stored method pattern matches the input to get(MethodSignature).
 
Method Summary
 java.lang.Object get(MethodSignature sig)
          Returns a pattern value prevoiusly stored via put(String, Object).
 void put(java.lang.String methodPattern, java.lang.Object patternValue)
          Stores a pattern and an associated value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodMatcher

public MethodMatcher(java.lang.Object defaultValue)
Constructor that takes a default value returned when no stored method pattern matches the input to get(MethodSignature).

Since:
1.1

MethodMatcher

public MethodMatcher()
Method Detail

put

public void put(java.lang.String methodPattern,
                java.lang.Object patternValue)
Stores a pattern and an associated value. Values can later be accessed via get(MethodSignature).

Parameters:
methodPattern - a pattern that is used to recognize methods
patternValue - a value associated with the pattern

get

public java.lang.Object get(MethodSignature sig)
Returns a pattern value prevoiusly stored via put(String, Object). Iterates over the patterns stored, in the order in which they were stored, until a match is found.

Parameters:
sig - the MethodSignature to find a matching pattern for
Returns:
the pattern value for the matching pattern, or the default value if not found (the default value may be set in the constructor)