org.codehaus.aspectwerkz.cflow
Class CflowAspectExpressionVisitor

java.lang.Object
  extended by org.codehaus.aspectwerkz.cflow.CflowAspectExpressionVisitor
All Implemented Interfaces:
ExpressionParserVisitor

public class CflowAspectExpressionVisitor
extends Object
implements ExpressionParserVisitor

A visitor to create the bindings between cflow aspect and cflow subexpression. For each visited cflow / cflowbelow node, one CflowBinding is created with the cflow(below) subexpression as expressionInfo.

Author:
Alexandre Vasseur

Constructor Summary
CflowAspectExpressionVisitor(ExpressionInfo expressionInfo, Node root, String namespace)
           
 
Method Summary
 List populateCflowAspectBindings(List bindings)
          Visit the expression and populate the list with CflowBinding for each cflow() or cflowbelow() subexpression encountered (including thru pointcut references)
 Object visit(ASTAnd node, Object data)
           
 Object visit(ASTArgParameter node, Object data)
           
 Object visit(ASTArgs node, Object data)
           
 Object visit(ASTAttribute node, Object data)
           
 Object visit(ASTCall node, Object data)
           
 Object visit(ASTCflowBelow node, Object data)
          build a cflowbelow binding with the cflowbelow sub expression
 Object visit(ASTCflow node, Object data)
          build a cflow binding with the cflow sub expression
 Object visit(ASTClassPattern node, Object data)
           
 Object visit(ASTConstructorPattern node, Object data)
           
 Object visit(ASTExecution node, Object data)
           
 Object visit(ASTExpression node, Object data)
           
 Object visit(ASTFieldPattern node, Object data)
           
 Object visit(ASTGet node, Object data)
           
 Object visit(ASTHandler node, Object data)
           
 Object visit(ASTHasField node, Object data)
           
 Object visit(ASTHasMethod node, Object data)
           
 Object visit(ASTMethodPattern node, Object data)
           
 Object visit(ASTModifier node, Object data)
           
 Object visit(ASTNot node, Object data)
           
 Object visit(ASTOr node, Object data)
           
 Object visit(ASTParameter node, Object data)
           
 Object visit(ASTPointcutReference node, Object data)
          Resolve pointcut references
 Object visit(ASTRoot node, Object data)
           
 Object visit(ASTSet node, Object data)
           
 Object visit(ASTStaticInitialization node, Object data)
           
 Object visit(ASTTarget node, Object data)
           
 Object visit(ASTThis node, Object data)
           
 Object visit(ASTWithinCode node, Object data)
           
 Object visit(ASTWithin node, Object data)
           
 Object visit(Node node, Object data)
           
 Object visit(SimpleNode node, Object data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CflowAspectExpressionVisitor

public CflowAspectExpressionVisitor(ExpressionInfo expressionInfo,
                                    Node root,
                                    String namespace)
Method Detail

populateCflowAspectBindings

public List populateCflowAspectBindings(List bindings)
Visit the expression and populate the list with CflowBinding for each cflow() or cflowbelow() subexpression encountered (including thru pointcut references)

Parameters:
bindings -
Returns:
the list of bindings

visit

public Object visit(Node node,
                    Object data)

visit

public Object visit(SimpleNode node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTRoot node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTExpression node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTAnd node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTOr node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTNot node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTPointcutReference node,
                    Object data)
Resolve pointcut references

Specified by:
visit in interface ExpressionParserVisitor
Parameters:
node -
data -
Returns:

visit

public Object visit(ASTExecution node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTCall node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTSet node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTGet node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTHandler node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTWithin node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTWithinCode node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTStaticInitialization node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTCflow node,
                    Object data)
build a cflow binding with the cflow sub expression

Specified by:
visit in interface ExpressionParserVisitor
Parameters:
node -
data -
Returns:

visit

public Object visit(ASTCflowBelow node,
                    Object data)
build a cflowbelow binding with the cflowbelow sub expression

Specified by:
visit in interface ExpressionParserVisitor
Parameters:
node -
data -
Returns:

visit

public Object visit(ASTArgs node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTHasMethod node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTHasField node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTTarget node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTThis node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTClassPattern node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTMethodPattern node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTConstructorPattern node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTFieldPattern node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTParameter node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTArgParameter node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTAttribute node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor

visit

public Object visit(ASTModifier node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor


Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.