com.metamatrix.query.sql.visitor
Class CorrelatedReferenceCollectorVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.sql.visitor.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.


Constructor Summary
CorrelatedReferenceCollectorVisitor(java.util.Collection<GroupSymbol> groupSymbols, java.util.List<Reference> correlatedReferences)
           
 
Method Summary
static void collectReferences(LanguageObject obj, java.util.Collection<GroupSymbol> groupSymbols, java.util.List<Reference> correlatedReferences)
          Helper to use this visitor.
 java.util.List<Reference> getReferences()
           
 void visit(Reference 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, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CorrelatedReferenceCollectorVisitor

public CorrelatedReferenceCollectorVisitor(java.util.Collection<GroupSymbol> groupSymbols,
                                           java.util.List<Reference> correlatedReferences)
Method Detail

getReferences

public java.util.List<Reference> getReferences()

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,
                                           java.util.Collection<GroupSymbol> groupSymbols,
                                           java.util.List<Reference> correlatedReferences)

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


Copyright © 2009. All Rights Reserved.