org.codehaus.aspectwerkz.definition
Class AdviceWeavingRule

java.lang.Object
  extended byorg.codehaus.aspectwerkz.definition.AdviceWeavingRule
All Implemented Interfaces:
java.io.Serializable, WeavingRule

public class AdviceWeavingRule
extends java.lang.Object
implements WeavingRule

Handles the advice weaving rule definition.

Author:
Jonas Bonér
See Also:
Serialized Form

Constructor Summary
AdviceWeavingRule()
           
 
Method Summary
 void addAdviceRef(java.lang.String adviceRef)
          Adds a new advice reference.
 void addAdviceStackRef(java.lang.String adviceStackRef)
          Adds a new advice stack reference.
 void addCallerSidePointcutPattern(PointcutDefinition pointcut)
          Adds a new caller side pointcut pattern.
 void addGetFieldPointcutPattern(PointcutDefinition pointcut)
          Adds a new get field pointcut pattern.
 void addMethodPointcutPattern(PointcutDefinition pointcut)
          Adds a new method pointcut pattern.
 void addSetFieldPointcutPattern(PointcutDefinition pointcut)
          Adds a new set field pointcut pattern.
 void addThrowsPointcutPattern(PointcutDefinition pointcut)
          Adds a new throws pointcut pattern.
 java.util.List getAdviceRefs()
          Returns a list with all the advice references.
 java.util.List getAdviceStackRefs()
          Returns a list with all the advice stack references.
 java.lang.String getCFlowExpression()
          Returns the cflow expression.
 java.lang.String getExpression()
          Returns the expression.
 java.util.List getPointcutRefs()
          Returns a list with the pointcut references.
 boolean matchCallerSidePointcut(ClassMetaData classMetaData, MethodMetaData methodMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchGetFieldPointcut(ClassMetaData classMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchGetFieldPointcut(ClassMetaData classMetaData, FieldMetaData fieldMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchMethodPointcut(ClassMetaData classMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchMethodPointcut(ClassMetaData classMetaData, MethodMetaData methodMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchSetFieldPointcut(ClassMetaData classMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchSetFieldPointcut(ClassMetaData classMetaData, FieldMetaData fieldMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchThrowsPointcut(ClassMetaData classMetaData)
          Checks if the pointcut matches a certain join point.
 boolean matchThrowsPointcut(ClassMetaData classMetaData, MethodMetaData methodMetaData)
          Checks if the pointcut matches a certain join point.
 void setCFlowExpression(java.lang.String cflowExpression)
          Sets the cflow expression.
 void setExpression(java.lang.String expression)
          Sets the expression.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdviceWeavingRule

public AdviceWeavingRule()
Method Detail

getExpression

public java.lang.String getExpression()
Returns the expression.

Returns:
the expression

setExpression

public void setExpression(java.lang.String expression)
Sets the expression. Substitutes all "AND" to "&&" and all "OR" to "||".

Parameters:
expression - the expression

getCFlowExpression

public java.lang.String getCFlowExpression()
Returns the cflow expression.

Returns:
the cflow expression

setCFlowExpression

public void setCFlowExpression(java.lang.String cflowExpression)
Sets the cflow expression.

Parameters:
cflowExpression - the cflow expression

getPointcutRefs

public java.util.List getPointcutRefs()
Returns a list with the pointcut references.

Returns:
the pointcut references

getAdviceRefs

public java.util.List getAdviceRefs()
Returns a list with all the advice references.

Returns:
the advice references

addAdviceRef

public void addAdviceRef(java.lang.String adviceRef)
Adds a new advice reference.

Parameters:
adviceRef - the advice reference

getAdviceStackRefs

public java.util.List getAdviceStackRefs()
Returns a list with all the advice stack references.

Returns:
the advice stack references

addAdviceStackRef

public void addAdviceStackRef(java.lang.String adviceStackRef)
Adds a new advice stack reference.

Parameters:
adviceStackRef - the advice stack reference

addMethodPointcutPattern

public void addMethodPointcutPattern(PointcutDefinition pointcut)
Adds a new method pointcut pattern.

Parameters:
pointcut - the pointcut definition

addSetFieldPointcutPattern

public void addSetFieldPointcutPattern(PointcutDefinition pointcut)
Adds a new set field pointcut pattern.

Parameters:
pointcut - the pointcut definition

addGetFieldPointcutPattern

public void addGetFieldPointcutPattern(PointcutDefinition pointcut)
Adds a new get field pointcut pattern.

Parameters:
pointcut - the pointcut definition

addThrowsPointcutPattern

public void addThrowsPointcutPattern(PointcutDefinition pointcut)
Adds a new throws pointcut pattern.

Parameters:
pointcut - the pointcut definition

addCallerSidePointcutPattern

public void addCallerSidePointcutPattern(PointcutDefinition pointcut)
Adds a new caller side pointcut pattern.

Parameters:
pointcut - the pointcut definition

matchMethodPointcut

public boolean matchMethodPointcut(ClassMetaData classMetaData)
Checks if the pointcut matches a certain join point. Tries to match both method and cflow expressions. Only checks for a class match to allow early filtering.

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

matchMethodPointcut

public boolean matchMethodPointcut(ClassMetaData classMetaData,
                                   MethodMetaData methodMetaData)
Checks if the pointcut matches a certain join point. Tries to match both method and cflow expressions.

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

matchSetFieldPointcut

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

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

matchSetFieldPointcut

public boolean matchSetFieldPointcut(ClassMetaData classMetaData,
                                     FieldMetaData fieldMetaData)
Checks if the pointcut matches a certain join point.

Parameters:
classMetaData - the class meta-data
fieldMetaData - the meta-data for the field
Returns:
boolean

matchGetFieldPointcut

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

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

matchGetFieldPointcut

public boolean matchGetFieldPointcut(ClassMetaData classMetaData,
                                     FieldMetaData fieldMetaData)
Checks if the pointcut matches a certain join point.

Parameters:
classMetaData - the class meta-data
fieldMetaData - the meta-data for the field
Returns:
boolean

matchThrowsPointcut

public boolean matchThrowsPointcut(ClassMetaData classMetaData)
Checks if the pointcut matches a certain join point. Only checks for a class match to allow early filtering.

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

matchThrowsPointcut

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

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

matchCallerSidePointcut

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

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


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