Class CorrelatedReferenceCollectorVisitor


  • public class CorrelatedReferenceCollectorVisitor
    extends LanguageVisitor

    This visitor class will traverse a language object tree and collect references that correspond to correlated subquery references.

    The easiest way to use this visitor is to call the static method which creates the the visitor by passing it the Language Object and the variable context to be looked up. The public visit() methods should NOT be called directly.

    • Method Detail

      • visit

        public void visit​(Reference obj)
        Visit a language object and collect symbols. This method should NOT be called directly.
        Overrides:
        visit in class LanguageVisitor
        Parameters:
        obj - Language object
      • collectReferences

        public static final void collectReferences​(LanguageObject obj,
                                                   Collection<GroupSymbol> groupSymbols,
                                                   List<Reference> correlatedReferences,
                                                   QueryMetadataInterface metadata)

        Helper to use this visitor.

        Parameters:
        obj - The Language object that is to be visited
        groupSymbols - Collection of GroupSymbols to restrict collection to - these are the groups that the client (outer query) is interested in references to from the correlated subquery
        correlatedReferences - List of References collected