final MethodMetaData methodMetaData,
final String exception) {
for (Iterator it = m_pointcutPatterns.entrySet().iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry)it.next();
String name = (String)entry.getKey();
PointcutPatternTuple pointcutPattern = (PointcutPatternTuple)entry.getValue();
// try to find a match somewhere in the class hierarchy (interface or super class)
if (pointcutPattern.isHierarchical()) {
matchThrowsPointcutSuperClasses(
jexlContext, name, classMetaData,
methodMetaData, pointcutPattern, exception);
}
// match the class only
else if (pointcutPattern.getClassPattern().matches(classMetaData.getName()) &&
((ThrowsPattern)pointcutPattern.getPattern()).
matches(methodMetaData, exception)) {
jexlContext.getVars().put(name, Boolean.TRUE);
}
else {
jexlContext.getVars().put(name, Boolean.FALSE);