com.metamatrix.query.sql.visitor
Class SQLStringVisitor

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

public class SQLStringVisitor
extends LanguageVisitor

The SQLStringVisitor will visit a set of language objects and return the corresponding SQL string representation.


Field Summary
static java.lang.String UNDEFINED
           
 
Constructor Summary
SQLStringVisitor()
           
 
Method Summary
protected  java.lang.String escapeStringValue(java.lang.String str)
          Take a string literal and escape it as necessary.
 java.lang.String getSQLString()
          Retrieve completed string from the visitor.
static java.lang.String getSQLString(LanguageObject obj)
          Helper to quickly get the parser string for an object using the visitor.
static void getSQLString(java.util.List<java.lang.Object> parts, java.lang.StringBuffer output)
           
protected  java.lang.String getStringQuoteBegin()
          Get the string to quote the beginning of a string with.
protected  java.lang.String getStringQuoteEnd()
          Get the string to quote the end of a string with.
protected  boolean isReservedWord(java.lang.String string)
          Check whether a string is considered a reserved word or not.
 java.util.List<java.lang.Object> registerNode(LanguageObject obj)
           
 void replaceStringParts(java.lang.Object[] parts)
           
 void visit(AggregateSymbol obj)
           
 void visit(AliasSymbol obj)
           
 void visit(AllInGroupSymbol obj)
           
 void visit(AllSymbol obj)
           
 void visit(AssignmentStatement obj)
           
 void visit(BetweenCriteria obj)
           
 void visit(Block obj)
           
 void visit(BreakStatement obj)
           
 void visit(CaseExpression obj)
           
 void visit(CommandStatement obj)
           
 void visit(CompareCriteria obj)
           
 void visit(CompoundCriteria obj)
           
 void visit(Constant obj)
           
 void visit(ContinueStatement obj)
           
 void visit(Create obj)
           
 void visit(CreateUpdateProcedureCommand obj)
           
 void visit(CriteriaSelector obj)
           
 void visit(DeclareStatement obj)
           
 void visit(Delete obj)
           
 void visit(DependentSetCriteria obj)
           
 void visit(Drop obj)
           
 void visit(DynamicCommand obj)
           
 void visit(ElementSymbol obj)
           
 void visit(ExistsCriteria obj)
           
 void visit(ExpressionSymbol obj)
           
 void visit(From obj)
           
 void visit(Function obj)
           
 void visit(GroupBy obj)
           
 void visit(GroupSymbol obj)
           
 void visit(HasCriteria obj)
           
 void visit(IfStatement obj)
           
 void visit(Insert obj)
           
 void visit(Into obj)
           
 void visit(IsNullCriteria obj)
           
 void visit(JoinPredicate obj)
           
 void visit(JoinType obj)
           
 void visit(Limit obj)
           
 void visit(LoopStatement obj)
           
 void visit(MatchCriteria obj)
           
 void visit(NotCriteria obj)
           
 void visit(Option obj)
           
 void visit(OrderBy obj)
           
 void visit(Query obj)
           
 void visit(RaiseErrorStatement obj)
           
 void visit(Reference obj)
           
 void visit(ScalarSubquery obj)
           
 void visit(SearchedCaseExpression obj)
           
 void visit(Select obj)
           
 void visit(SetClause obj)
           
 void visit(SetClauseList obj)
           
 void visit(SetCriteria obj)
           
 void visit(SetQuery obj)
           
 void visit(StoredProcedure obj)
           
 void visit(SubqueryCompareCriteria obj)
           
 void visit(SubqueryFromClause obj)
           
 void visit(SubquerySetCriteria obj)
           
 void visit(TranslateCriteria obj)
           
 void visit(UnaryFromClause obj)
           
 void visit(Update obj)
           
 void visit(WhileStatement obj)
           
 void visit(XQuery obj)
           
 
Methods inherited from class com.metamatrix.query.sql.LanguageVisitor
setAbort, shouldAbort, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNDEFINED

public static final java.lang.String UNDEFINED
See Also:
Constant Field Values
Constructor Detail

SQLStringVisitor

public SQLStringVisitor()
Method Detail

getSQLString

public static final java.lang.String getSQLString(LanguageObject obj)
Helper to quickly get the parser string for an object using the visitor.

Parameters:
obj - Language object
Returns:
String SQL String for obj

getSQLString

public java.lang.String getSQLString()
Retrieve completed string from the visitor.

Returns:
Complete SQL string for the visited nodes

getSQLString

public static void getSQLString(java.util.List<java.lang.Object> parts,
                                java.lang.StringBuffer output)

registerNode

public java.util.List<java.lang.Object> registerNode(LanguageObject obj)

replaceStringParts

public void replaceStringParts(java.lang.Object[] parts)

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

getStringQuoteBegin

protected java.lang.String getStringQuoteBegin()
Get the string to quote the beginning of a string with. By default this is the ' character.

Returns:
String quote begin character

getStringQuoteEnd

protected java.lang.String getStringQuoteEnd()
Get the string to quote the end of a string with. By default this is the ' character.

Returns:
String quote end character

escapeStringValue

protected java.lang.String escapeStringValue(java.lang.String str)
Take a string literal and escape it as necessary. By default, this converts ' to ''.

Parameters:
str - String literal value (unquoted), never null
Returns:
Escaped string literal value

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

isReservedWord

protected boolean isReservedWord(java.lang.String string)
Check whether a string is considered a reserved word or not. Subclasses may override to change definition of reserved word.

Parameters:
string - String to check
Returns:
True if reserved word


Copyright © 2009. All Rights Reserved.