org.teiid.connector.visitor.util
Class CollectorVisitor<T>

java.lang.Object
  extended by org.teiid.connector.visitor.util.CollectorVisitor<T>
All Implemented Interfaces:
LanguageObjectVisitor

public class CollectorVisitor<T>
extends java.lang.Object
implements LanguageObjectVisitor

This visitor can be used to collect all objects of a certain type in a language tree. Each visit method does an instanceof method to check whether the object is of the expected type.


Constructor Summary
CollectorVisitor(java.lang.Class<T> type)
           
 
Method Summary
static java.util.Collection<IElement> collectElements(ILanguageObject object)
          This is a utility method for a common use of this visitor, which is to collect all elements in an object tree.
static java.util.Collection<IGroup> collectGroups(ILanguageObject object)
          This is a utility method for a common use of this visitor, which is to collect all groups in an object tree.
static java.util.Set<IGroup> collectGroupsUsedByElements(ILanguageObject object)
          This is a utility method for a common use of this visitor, which is to collect all groups used by all elements in an object tree.
static
<T> java.util.Collection<T>
collectObjects(java.lang.Class<T> type, ILanguageObject object)
          This is a utility method to instantiate and run the visitor in conjunction with a HierarchyVisitor to collect all objects of the specified type of the specified tree in the language object tree.
 java.util.Collection<T> getCollectedObjects()
           
 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(IInsertExpressionValueSource 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectorVisitor

public CollectorVisitor(java.lang.Class<T> type)
Method Detail

getCollectedObjects

public java.util.Collection<T> getCollectedObjects()

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

public void visit(IInsertExpressionValueSource obj)
Specified by:
visit in interface LanguageObjectVisitor

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

collectObjects

public static <T> java.util.Collection<T> collectObjects(java.lang.Class<T> type,
                                                         ILanguageObject object)
This is a utility method to instantiate and run the visitor in conjunction with a HierarchyVisitor to collect all objects of the specified type of the specified tree in the language object tree.

Parameters:
type - Language object type to look for
object - Root of the language object tree
Returns:
Collection of ILanguageObject of the specified type

collectElements

public static java.util.Collection<IElement> collectElements(ILanguageObject object)
This is a utility method for a common use of this visitor, which is to collect all elements in an object tree.

Parameters:
type - Language object type to look for
object - Root of the language object tree
Returns:
Collection of IElement of the specified type

collectGroups

public static java.util.Collection<IGroup> collectGroups(ILanguageObject object)
This is a utility method for a common use of this visitor, which is to collect all groups in an object tree.

Parameters:
type - Language object type to look for
object - Root of the language object tree
Returns:
Collection of IGroup of the specified type

collectGroupsUsedByElements

public static java.util.Set<IGroup> collectGroupsUsedByElements(ILanguageObject object)
This is a utility method for a common use of this visitor, which is to collect all groups used by all elements in an object tree.

Parameters:
type - Language object type to look for
object - Root of the language object tree
Returns:
Set of IGroup


Copyright © 2009. All Rights Reserved.