org.teiid.connector.visitor.framework
Class DelegatingHierarchyVisitor

java.lang.Object
  extended by org.teiid.connector.visitor.framework.AbstractLanguageVisitor
      extended by org.teiid.connector.visitor.framework.HierarchyVisitor
          extended by org.teiid.connector.visitor.framework.DelegatingHierarchyVisitor
All Implemented Interfaces:
LanguageObjectVisitor

public class DelegatingHierarchyVisitor
extends HierarchyVisitor

Delegates pre- and post-processing for each node in the hierarchy to delegate visitors.


Constructor Summary
DelegatingHierarchyVisitor(LanguageObjectVisitor preProcessingDelegate, LanguageObjectVisitor postProcessingDelegate)
           
 
Method Summary
protected  LanguageObjectVisitor getPostVisitor()
           
protected  LanguageObjectVisitor getPreVisitor()
           
static void postOrderVisit(LanguageObjectVisitor behaviorVisitor, ILanguageObject object)
          This utility method can be used to execute the behaviorVisitor in a post-order walk of the language objects.
static void preOrderVisit(LanguageObjectVisitor behaviorVisitor, ILanguageObject object)
          This utility method can be used to execute the behaviorVisitor in a pre-order walk of the language objects.
 void visit(IAggregate obj)
           
 void visit(IBatchedUpdates obj)
           
 void visit(ICompareCriteria obj)
           
 void visit(ICompoundCriteria obj)
           
 void visit(IDelete obj)
           
 void visit(IElement obj)
           
 void visit(IExistsCriteria obj)
           
 void visit(IFrom obj)
           
 void visit(IFunction obj)
           
 void visit(IGroup obj)
           
 void visit(IGroupBy obj)
           
 void visit(IInCriteria obj)
           
 void visit(IInlineView obj)
           
 void visit(IInsert obj)
           
 void visit(IIsNullCriteria obj)
           
 void visit(IJoin obj)
           
 void visit(ILikeCriteria obj)
           
 void visit(ILimit obj)
           
 void visit(ILiteral obj)
           
 void visit(INotCriteria obj)
           
 void visit(IOrderBy obj)
           
 void visit(IOrderByItem obj)
           
 void visit(IParameter obj)
           
 void visit(IProcedure obj)
           
 void visit(IQuery obj)
           
 void visit(IScalarSubquery obj)
           
 void visit(ISearchedCaseExpression obj)
           
 void visit(ISelect obj)
           
 void visit(ISelectSymbol obj)
           
 void visit(ISetClause obj)
           
 void visit(ISetClauseList obj)
           
 void visit(ISetQuery obj)
           
 void visit(ISubqueryCompareCriteria obj)
           
 void visit(ISubqueryInCriteria obj)
           
 void visit(IUpdate obj)
           
 
Methods inherited from class org.teiid.connector.visitor.framework.HierarchyVisitor
visit
 
Methods inherited from class org.teiid.connector.visitor.framework.AbstractLanguageVisitor
visitNode, visitNodes, visitNodes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingHierarchyVisitor

public DelegatingHierarchyVisitor(LanguageObjectVisitor preProcessingDelegate,
                                  LanguageObjectVisitor postProcessingDelegate)
Method Detail

getPostVisitor

protected LanguageObjectVisitor getPostVisitor()

getPreVisitor

protected LanguageObjectVisitor getPreVisitor()

visit

public void visit(IAggregate obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IBatchedUpdates obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ICompareCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ICompoundCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IDelete obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IElement obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class AbstractLanguageVisitor

visit

public void visit(IProcedure obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IExistsCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IFrom obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IFunction obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IGroup obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class AbstractLanguageVisitor

visit

public void visit(IGroupBy obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IInCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IInlineView obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IInsert obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IIsNullCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IJoin obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ILikeCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ILimit obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class AbstractLanguageVisitor

visit

public void visit(ILiteral obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class AbstractLanguageVisitor

visit

public void visit(INotCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IOrderBy obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IOrderByItem obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class AbstractLanguageVisitor

visit

public void visit(IParameter obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class AbstractLanguageVisitor

visit

public void visit(IQuery obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IScalarSubquery obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISearchedCaseExpression obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISelect obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISelectSymbol obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISubqueryCompareCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISubqueryInCriteria obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISetQuery obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(IUpdate obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISetClauseList obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

visit

public void visit(ISetClause obj)
Specified by:
visit in interface LanguageObjectVisitor
Overrides:
visit in class HierarchyVisitor

preOrderVisit

public static void preOrderVisit(LanguageObjectVisitor behaviorVisitor,
                                 ILanguageObject object)
This utility method can be used to execute the behaviorVisitor in a pre-order walk of the language objects. "Pre-order" in this case means that the visit method of the behaviorVisitor will be called before the visit method of it's children. It is expected that the behavior visit does NOT perform iteration, as that function will be performed by the HierarchyVisitor.

Parameters:
behaviorVisitor - The visitor specifying what behavior is performed at each node type
object - The root of the object tree to perform visitation on

postOrderVisit

public static void postOrderVisit(LanguageObjectVisitor behaviorVisitor,
                                  ILanguageObject object)
This utility method can be used to execute the behaviorVisitor in a post-order walk of the language objects. "Post-order" in this case means that the visit method of the behaviorVisitor will be called after the visit method of it's children. It is expected that the behavior visit does NOT perform iteration, as that function will be performed by the HierarchyVisitor.

Parameters:
behaviorVisitor - The visitor specifying what behavior is performed at each node type
object - The root of the object tree to perform visitation on


Copyright © 2009. All Rights Reserved.