org.codehaus.aspectwerkz.pointcut
Class ThrowsPointcut

java.lang.Object
  extended byorg.codehaus.aspectwerkz.pointcut.AbstractPointcut
      extended byorg.codehaus.aspectwerkz.pointcut.ThrowsPointcut
All Implemented Interfaces:
Pointcut

public class ThrowsPointcut
extends AbstractPointcut

Implements the pointcut concept for exception handling. Is an abstraction of a well defined point of execution in the program.
Could matches one or many points as long as they are well defined.
Stores the advices for this specific pointcut.

Author:
Jonas Bonér

Constructor Summary
ThrowsPointcut(java.lang.String pattern)
          Creates a new throws pointcut.
ThrowsPointcut(java.lang.String uuid, java.lang.String pattern)
          Creates a new throws pointcut.
 
Method Summary
 void addPointcutDef(PointcutDefinition pointcut)
          Adds a new pointcut definition.
 boolean matches(ClassMetaData classMetaData, MethodMetaData methodMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matches(ClassMetaData classMetaData, MethodMetaData methodMetaData, java.lang.String exception)
          Checks if the pointcut matches a certain join point.
static boolean matchThrowsPointcutSuperClasses(org.apache.commons.jexl.JexlContext jexlContext, java.lang.String name, ClassMetaData classMetaData, MethodMetaData methodMetaData, PointcutPatternTuple pointcutPattern)
          Tries to finds a match at some superclass in the hierarchy.
static boolean matchThrowsPointcutSuperClasses(org.apache.commons.jexl.JexlContext jexlContext, java.lang.String name, ClassMetaData classMetaData, MethodMetaData methodMetaData, PointcutPatternTuple pointcutPattern, java.lang.String exception)
          Tries to finds a match at some superclass in the hierarchy.
static boolean matchThrowsPointcutSuperClasses(org.apache.commons.jexl.JexlContext jexlContext, java.lang.String name, ClassMetaData classMetaData, PointcutPatternTuple pointcutPattern)
          Tries to finds a match at some superclass in the hierarchy.
 
Methods inherited from class org.codehaus.aspectwerkz.pointcut.AbstractPointcut
addAdvice, addAdvices, getAdviceIndex, getAdviceIndexes, getAdviceIndexTuples, getAdviceNames, getExpression, hasAdvice, removeAdvice, setAdviceIndexTuples
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThrowsPointcut

public ThrowsPointcut(java.lang.String pattern)
Creates a new throws pointcut.

Parameters:
pattern - the pattern

ThrowsPointcut

public ThrowsPointcut(java.lang.String uuid,
                      java.lang.String pattern)
Creates a new throws pointcut.

Parameters:
uuid - the UUID for the AspectWerkz system
pattern - the pattern
Method Detail

addPointcutDef

public void addPointcutDef(PointcutDefinition pointcut)
Adds a new pointcut definition.

Parameters:
pointcut - the pointcut definition

matches

public boolean matches(ClassMetaData classMetaData,
                       MethodMetaData methodMetaData)
Checks if the pointcut matches a certain join point.

Parameters:
classMetaData - the class meta-data
methodMetaData - the method meta-data
Returns:
boolean

matches

public boolean matches(ClassMetaData classMetaData,
                       MethodMetaData methodMetaData,
                       java.lang.String exception)
Checks if the pointcut matches a certain join point.

Parameters:
classMetaData - the class meta-data
methodMetaData - the method meta-data
exception - the name of the exception
Returns:
boolean

matchThrowsPointcutSuperClasses

public static boolean matchThrowsPointcutSuperClasses(org.apache.commons.jexl.JexlContext jexlContext,
                                                      java.lang.String name,
                                                      ClassMetaData classMetaData,
                                                      PointcutPatternTuple pointcutPattern)
Tries to finds a match at some superclass in the hierarchy. Only checks for a class match to allow early filtering. Recursive.

Parameters:
jexlContext - the Jexl context
name - the name of the pointcut to evaluate
classMetaData - the class meta-data
pointcutPattern - the pointcut pattern
Returns:
boolean

matchThrowsPointcutSuperClasses

public static boolean matchThrowsPointcutSuperClasses(org.apache.commons.jexl.JexlContext jexlContext,
                                                      java.lang.String name,
                                                      ClassMetaData classMetaData,
                                                      MethodMetaData methodMetaData,
                                                      PointcutPatternTuple pointcutPattern)
Tries to finds a match at some superclass in the hierarchy. Recursive.

Parameters:
jexlContext - the Jexl context
name - the name of the pointcut to evaluate
classMetaData - the class meta-data
methodMetaData - the method meta-data
pointcutPattern - the pointcut pattern
Returns:
boolean

matchThrowsPointcutSuperClasses

public static boolean matchThrowsPointcutSuperClasses(org.apache.commons.jexl.JexlContext jexlContext,
                                                      java.lang.String name,
                                                      ClassMetaData classMetaData,
                                                      MethodMetaData methodMetaData,
                                                      PointcutPatternTuple pointcutPattern,
                                                      java.lang.String exception)
Tries to finds a match at some superclass in the hierarchy. Recursive.

Parameters:
jexlContext - the Jexl context
name - the name of the pointcut to evaluate
classMetaData - the class meta-data
methodMetaData - the method meta-data
pointcutPattern - the pointcut pattern
exception - the exception's class name
Returns:
boolean


Copyright (c) 2002-2004 The AspectWerkz Team. All Rights Reserved.