Package org.teiid.query.sql.visitor
Class ValueIteratorProviderCollectorVisitor
- java.lang.Object
-
- org.teiid.query.sql.LanguageVisitor
-
- org.teiid.query.sql.visitor.ValueIteratorProviderCollectorVisitor
-
public class ValueIteratorProviderCollectorVisitor extends LanguageVisitor
This visitor class will traverse a language object tree and collect all language objects that implement
SubqueryContainer
. By default it uses a java.util.ArrayList to collect the objects in the order they're found.The easiest way to use this visitor is to call one of the static methods which create the visitor, run the visitor, and get the collection. The public visit() methods should NOT be called directly.
-
-
Constructor Summary
Constructors Constructor Description ValueIteratorProviderCollectorVisitor()
Construct a new visitor with the default collection type, which is aArrayList
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<SubqueryContainer<?>>
getValueIteratorProviders()
Get the value iterator providers collected by the visitor.static List<SubqueryContainer<?>>
getValueIteratorProviders(Collection<? extends LanguageObject> languageObjects)
static List<SubqueryContainer<?>>
getValueIteratorProviders(LanguageObject obj)
Helper to quickly get the ValueIteratorProvider instances from objstatic void
getValueIteratorProviders(LanguageObject obj, List<SubqueryContainer<?>> valueIteratorProviders)
void
setCollectLateral(boolean b)
void
visit(ExistsCriteria obj)
Visit a language object and collect symbols.void
visit(SubqueryCompareCriteria obj)
Visit a language object and collect symbols.void
visit(SubqueryFromClause obj)
void
visit(SubquerySetCriteria obj)
Visit a language object and collect symbols.void
visit(ScalarSubquery obj)
Visit a language object and collect symbols.-
Methods inherited from class org.teiid.query.sql.LanguageVisitor
setAbort, shouldAbort, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Constructor Detail
-
ValueIteratorProviderCollectorVisitor
public ValueIteratorProviderCollectorVisitor()
Construct a new visitor with the default collection type, which is aArrayList
.
-
-
Method Detail
-
getValueIteratorProviders
public List<SubqueryContainer<?>> getValueIteratorProviders()
Get the value iterator providers collected by the visitor. This should best be called after the visitor has been run on the language object tree.- Returns:
- Collection of
SubqueryContainer
(by default, this is a java.util.ArrayList)
-
visit
public void visit(SubquerySetCriteria obj)
Visit a language object and collect symbols. This method should NOT be called directly.- Overrides:
visit
in classLanguageVisitor
- Parameters:
obj
- Language object
-
visit
public void visit(SubqueryCompareCriteria obj)
Visit a language object and collect symbols. This method should NOT be called directly.- Overrides:
visit
in classLanguageVisitor
- Parameters:
obj
- Language object
-
visit
public void visit(ExistsCriteria obj)
Visit a language object and collect symbols. This method should NOT be called directly.- Overrides:
visit
in classLanguageVisitor
- Parameters:
obj
- Language object
-
visit
public void visit(ScalarSubquery obj)
Visit a language object and collect symbols. This method should NOT be called directly.- Overrides:
visit
in classLanguageVisitor
- Parameters:
obj
- Language object
-
visit
public void visit(SubqueryFromClause obj)
- Overrides:
visit
in classLanguageVisitor
-
getValueIteratorProviders
public static final List<SubqueryContainer<?>> getValueIteratorProviders(LanguageObject obj)
Helper to quickly get the ValueIteratorProvider instances from obj- Parameters:
obj
- Language object- Returns:
- java.util.ArrayList of found ValueIteratorProvider
-
getValueIteratorProviders
public static final void getValueIteratorProviders(LanguageObject obj, List<SubqueryContainer<?>> valueIteratorProviders)
-
getValueIteratorProviders
public static final List<SubqueryContainer<?>> getValueIteratorProviders(Collection<? extends LanguageObject> languageObjects)
-
setCollectLateral
public void setCollectLateral(boolean b)
-
-