Class 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 Detail

      • ValueIteratorProviderCollectorVisitor

        public ValueIteratorProviderCollectorVisitor()
        Construct a new visitor with the default collection type, which is a ArrayList.
    • 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 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 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
      • setCollectLateral

        public void setCollectLateral​(boolean b)