org.codehaus.aspectwerkz.expression
Class CflowExpressionVisitorRuntime

java.lang.Object
  extended byorg.codehaus.aspectwerkz.expression.ExpressionVisitor
      extended byorg.codehaus.aspectwerkz.expression.CflowExpressionVisitorRuntime
All Implemented Interfaces:
ExpressionParserVisitor

public class CflowExpressionVisitorRuntime
extends ExpressionVisitor

The Cflow expression visitor used at runtime.

This visitor does a parse on a compsosite context, based on the gathered cflow related context AND the joinpoint context.

This allow to parse complex cflow expression like "(pc1 AND cf1 AND cf3) OR (pc2 AND cf2)".

Author:
Alexandre Vasseur , Michael Nascimento

Field Summary
 
Fields inherited from class org.codehaus.aspectwerkz.expression.ExpressionVisitor
m_expression, m_expressionInfo, m_namespace, m_root
 
Constructor Summary
CflowExpressionVisitorRuntime(ExpressionInfo expressionInfo, String expression, String namespace, ASTRoot root)
          Creates a new cflow runtime visitor.
 
Method Summary
 boolean matchCflowStack(Object[] contexts, ExpressionContext jpContext)
          Matches the cflow information stack.
 Object visit(ASTArgs node, Object data)
           
 Object visit(ASTCall node, Object data)
           
 Object visit(ASTCflowBelow node, Object data)
           
 Object visit(ASTCflow node, Object data)
           
 Object visit(ASTExecution 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(ASTNot node, Object data)
           
 Object visit(ASTPointcutReference node, Object data)
           
 Object visit(ASTSet node, Object data)
           
 Object visit(ASTStaticInitialization node, Object data)
           
 Object visit(ASTWithinCode node, Object data)
           
 Object visit(ASTWithin node, Object data)
           
 
Methods inherited from class org.codehaus.aspectwerkz.expression.ExpressionVisitor
match, toString, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAttributes, visitModifiers, visitParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CflowExpressionVisitorRuntime

public CflowExpressionVisitorRuntime(ExpressionInfo expressionInfo,
                                     String expression,
                                     String namespace,
                                     ASTRoot root)
Creates a new cflow runtime visitor.

Parameters:
expression - the expression as a string
namespace - the namespace
root - the AST root
Method Detail

matchCflowStack

public boolean matchCflowStack(Object[] contexts,
                               ExpressionContext jpContext)
Matches the cflow information stack.

Parameters:
contexts - the cflow gathered contexts
jpContext - the joinpoint context
Returns:
true if parse

visit

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

visit

public Object visit(ASTPointcutReference node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

public Object visit(ASTCflow node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

public Object visit(ASTCflowBelow node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor


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