com.metamatrix.query.sql.visitor
Class ValueIteratorProviderCollectorVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.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 com.metamatrix.sql.util.ValueIteratorProvider. These all currently also implement {@link com.metamatrix.sql.lang.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
ValueIteratorProviderCollectorVisitor()
          Construct a new visitor with the default collection type, which is a ArrayList.
 
Method Summary
 java.util.List<SubqueryContainer> getValueIteratorProviders()
          Get the value iterator providers collected by the visitor.
static java.util.List<SubqueryContainer> getValueIteratorProviders(java.util.Collection<? extends LanguageObject> languageObjects)
           
static java.util.List<SubqueryContainer> getValueIteratorProviders(LanguageObject obj)
          Helper to quickly get the ValueIteratorProvider instances from obj
static void getValueIteratorProviders(LanguageObject obj, java.util.List<SubqueryContainer> valueIteratorProviders)
           
 void visit(ExistsCriteria obj)
          Visit a language object and collect symbols.
 void visit(ScalarSubquery obj)
          Visit a language object and collect symbols.
 void visit(SubqueryCompareCriteria obj)
          Visit a language object and collect symbols.
 void visit(SubquerySetCriteria obj)
          Visit a language object and collect symbols.
 
Methods inherited from class com.metamatrix.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ValueIteratorProviderCollectorVisitor

public ValueIteratorProviderCollectorVisitor()
Construct a new visitor with the default collection type, which is a ArrayList.

Method Detail

getValueIteratorProviders

public java.util.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 com.metamatrix.sql.util.ValueIteratorProvider (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 class LanguageVisitor
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 class LanguageVisitor
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 class LanguageVisitor
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 class LanguageVisitor
Parameters:
obj - Language object

getValueIteratorProviders

public static final java.util.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,
                                                   java.util.List<SubqueryContainer> valueIteratorProviders)

getValueIteratorProviders

public static final java.util.List<SubqueryContainer> getValueIteratorProviders(java.util.Collection<? extends LanguageObject> languageObjects)


Copyright © 2009. All Rights Reserved.