com.metamatrix.query.sql.visitor
Class CommandCollectorVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.sql.visitor.CommandCollectorVisitor

public class CommandCollectorVisitor
extends LanguageVisitor

This visitor class will traverse a language object tree and collect all sub-commands it finds. It uses a List to collect the sub-commands in the order they're found.

The easiest way to use this visitor is to call 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
CommandCollectorVisitor(java.util.Set<com.metamatrix.query.sql.visitor.CommandCollectorVisitor.Mode> modes)
          Construct a new visitor with the default collection type, which is a HashSet.
 
Method Summary
 java.util.List<Command> getCommands()
          Get the commands collected by the visitor.
static java.util.List<Command> getCommands(Command obj)
          Helper to quickly get the commands from obj
static java.util.List<Command> getCommands(Command obj, boolean embeddedOnly)
           
static java.util.List<Command> getNonEmbeddedCommands(Command obj)
           
 void visit(AssignmentStatement obj)
          Visit a language object and collect symbols.
 void visit(BatchedUpdateCommand obj)
           
 void visit(CommandStatement obj)
          Visit a language object and collect symbols.
 void visit(ExistsCriteria obj)
           
 void visit(LoopStatement obj)
          Visit a language object and collect symbols.
 void visit(ProcedureContainer obj)
           
 void visit(ScalarSubquery obj)
           
 void visit(SubqueryCompareCriteria obj)
           
 void visit(SubqueryFromClause obj)
          Visit a language object and collect symbols.
 void visit(SubquerySetCriteria obj)
          Visit a language object and collect symbols.
 void visit(UnaryFromClause obj)
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommandCollectorVisitor

public CommandCollectorVisitor(java.util.Set<com.metamatrix.query.sql.visitor.CommandCollectorVisitor.Mode> modes)
Construct a new visitor with the default collection type, which is a HashSet.

Method Detail

getCommands

public java.util.List<Command> getCommands()
Get the commands collected by the visitor. This should best be called after the visitor has been run on the language object tree.

Returns:
List of Command

visit

public void visit(ExistsCriteria obj)
Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.ExistsCriteria)

visit

public void visit(ScalarSubquery obj)
Overrides:
visit in class LanguageVisitor
See Also:
com.metamatrix.query.sql.LanguageVisitor#visit(com.metamatrix.query.sql.lang.ScalarSubquery)

visit

public void visit(SubqueryCompareCriteria obj)
Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.SubqueryCompareCriteria)

visit

public void visit(SubqueryFromClause 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(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(CommandStatement 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(AssignmentStatement 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(LoopStatement 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(UnaryFromClause obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(BatchedUpdateCommand obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(ProcedureContainer obj)
Overrides:
visit in class LanguageVisitor

getCommands

public static final java.util.List<Command> getCommands(Command obj)
Helper to quickly get the commands from obj

Parameters:
obj - Language object
elements - Collection to collect commands in

getCommands

public static final java.util.List<Command> getCommands(Command obj,
                                                        boolean embeddedOnly)

getNonEmbeddedCommands

public static final java.util.List<Command> getNonEmbeddedCommands(Command obj)


Copyright © 2009. All Rights Reserved.