| ClassPatternPointcut.java |
package org.mockejb.interceptor;
import java.lang.reflect.Method;
/**
* Tests if the class name of the provided method matches the regexp.
*
* @author Alexander Ananiev
*/
public class ClassPatternPointcut implements Pointcut {
private RegexpWrapper regexpWrapper;
/**
* Creates a new instance of ClassPatternPoincut
* @param regexpPattern regexp pattern that will be matched against the fully qualified class name
*
*/
public ClassPatternPointcut( String regexpPattern ){
regexpWrapper = new RegexpWrapper( regexpPattern );
}
/**
* Tests if the fully qualified class name of the given method
*
* @return true if the provided method should be intercepted
*/
public boolean matchesJointpoint( Method method ) {
return regexpWrapper.containedInString( method.toString() );
}
/**
* Returns true if the given object is of the same type and
* it has the same pattern.
*/
public boolean equals( Object obj ){
if ( ! (obj instanceof ClassPatternPointcut) )
return false;
ClassPatternPointcut classPatternPointcut = (ClassPatternPointcut ) obj;
return ( regexpWrapper.equals( classPatternPointcut.regexpWrapper ));
}
public int hashCode() {
return regexpWrapper.hashCode();
}
}