com.metamatrix.query.sql.visitor
Class ExpressionMappingVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.sql.visitor.ExpressionMappingVisitor
Direct Known Subclasses:
AbstractSymbolMappingVisitor, CorrelatedVariableSubstitutionVisitor, EvaluateExpressionVisitor, ReferenceBindingReplacerVisitor, VariableSubstitutionVisitor

public class ExpressionMappingVisitor
extends LanguageVisitor

It is important to use a Post Navigator with this class, otherwise a replacement containing itself will not work


Constructor Summary
ExpressionMappingVisitor(java.util.Map symbolMap)
          Constructor for ExpressionMappingVisitor.
 
Method Summary
protected  boolean createAliases()
           
protected  java.util.Map getVariableValues()
           
static void mapExpressions(LanguageObject obj, java.util.Map exprMap)
          The object is modified in place, so is not returned.
 Expression replaceExpression(Expression element)
           
protected  void setVariableValues(java.util.Map variableValues)
           
 void visit(AggregateSymbol obj)
           
 void visit(AliasSymbol obj)
           
 void visit(AssignmentStatement obj)
           
 void visit(BetweenCriteria obj)
           
 void visit(CaseExpression obj)
           
 void visit(CompareCriteria obj)
           
 void visit(DependentSetCriteria obj)
           
 void visit(DynamicCommand obj)
           
 void visit(ExpressionSymbol expr)
           
 void visit(Function obj)
           
 void visit(GroupBy obj)
          Swap each ElementSymbol in GroupBy (other symbols are ignored).
 void visit(Insert obj)
           
 void visit(IsNullCriteria obj)
           
 void visit(Limit obj)
           
 void visit(MatchCriteria obj)
           
 void visit(OrderBy obj)
          Swap each SingleElementSymbol in OrderBy (other symbols are ignored).
 void visit(SearchedCaseExpression obj)
           
 void visit(Select obj)
           
 void visit(SetClause obj)
           
 void visit(SetCriteria obj)
           
 void visit(StoredProcedure obj)
           
 void visit(SubqueryCompareCriteria obj)
           
 void visit(SubquerySetCriteria 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionMappingVisitor

public ExpressionMappingVisitor(java.util.Map symbolMap)
Constructor for ExpressionMappingVisitor.

Parameters:
symbolMap - Map of ElementSymbol to Expression
Method Detail

createAliases

protected boolean createAliases()

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

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(SubquerySetCriteria obj)
Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.SubquerySetCriteria)

replaceExpression

public Expression replaceExpression(Expression element)

visit

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

visit

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

visit

public void visit(GroupBy obj)
Swap each ElementSymbol in GroupBy (other symbols are ignored).

Overrides:
visit in class LanguageVisitor
Parameters:
obj - Object to remap

visit

public void visit(OrderBy obj)
Swap each SingleElementSymbol in OrderBy (other symbols are ignored).

Overrides:
visit in class LanguageVisitor
Parameters:
obj - Object to remap

visit

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

visit

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

visit

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

mapExpressions

public static void mapExpressions(LanguageObject obj,
                                  java.util.Map exprMap)
The object is modified in place, so is not returned.

Parameters:
obj - Language object
exprMap - Expression map, Expression to Expression

setVariableValues

protected void setVariableValues(java.util.Map variableValues)

getVariableValues

protected java.util.Map getVariableValues()

visit

public void visit(AssignmentStatement obj)
Overrides:
visit in class LanguageVisitor
Since:
5.0
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.proc.AssignmentStatement)

visit

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


Copyright © 2009. All Rights Reserved.