Package org.teiid.query.sql.visitor
Class ExpressionMappingVisitor
- java.lang.Object
-
- org.teiid.query.sql.LanguageVisitor
-
- org.teiid.query.sql.visitor.ExpressionMappingVisitor
-
- Direct Known Subclasses:
AbstractSymbolMappingVisitor
,MultiSourceElementReplacementVisitor
,RulePlanSubqueries.ReferenceReplacementVisitor
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
Constructors Constructor Description ExpressionMappingVisitor(Map symbolMap)
Constructor for ExpressionMappingVisitor.ExpressionMappingVisitor(Map symbolMap, boolean clone)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
createAliases()
protected Map
getVariableValues()
boolean
isClone()
static void
mapExpressions(LanguageObject obj, Map<? extends Expression,? extends Expression> exprMap)
The object is modified in place, so is not returned.static void
mapExpressions(LanguageObject obj, Map<? extends Expression,? extends Expression> exprMap, boolean deep)
The object is modified in place, so is not returned.Expression
replaceExpression(Expression element)
void
setClone(boolean clone)
protected void
setVariableValues(Map variableValues)
void
visit(BetweenCriteria obj)
void
visit(CompareCriteria obj)
void
visit(DependentSetCriteria obj)
void
visit(DynamicCommand obj)
void
visit(ExpressionCriteria obj)
void
visit(GroupBy obj)
Swap each ElementSymbol in GroupBy (other symbols are ignored).void
visit(Insert obj)
void
visit(IsDistinctCriteria isDistinctCriteria)
void
visit(IsNullCriteria obj)
void
visit(JsonTable obj)
void
visit(Limit obj)
void
visit(MatchCriteria obj)
void
visit(ObjectTable obj)
void
visit(OrderByItem 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)
void
visit(XMLTable obj)
void
visit(AssignmentStatement obj)
void
visit(ExceptionExpression exceptionExpression)
void
visit(ReturnStatement obj)
void
visit(AggregateSymbol obj)
void
visit(AliasSymbol obj)
void
visit(Array array)
void
visit(CaseExpression obj)
void
visit(DerivedColumn obj)
void
visit(ExpressionSymbol expr)
void
visit(Function obj)
void
visit(QueryString obj)
void
visit(SearchedCaseExpression obj)
void
visit(WindowSpecification windowSpecification)
void
visit(XMLElement obj)
void
visit(XMLParse obj)
void
visit(XMLSerialize obj)
-
Methods inherited from class org.teiid.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
-
-
-
-
Method Detail
-
createAliases
protected boolean createAliases()
-
visit
public void visit(Select obj)
- Overrides:
visit
in classLanguageVisitor
-
isClone
public boolean isClone()
-
setClone
public void setClone(boolean clone)
-
visit
public void visit(DerivedColumn obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLTable obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(JsonTable obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ObjectTable obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLSerialize obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLParse obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(AliasSymbol obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.symbol.AliasSymbol)
-
visit
public void visit(ExpressionSymbol expr)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(BetweenCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(BetweenCriteria)
-
visit
public void visit(CaseExpression obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(CompareCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(CompareCriteria)
-
visit
public void visit(Function obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(Function)
-
visit
public void visit(IsNullCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(IsNullCriteria)
-
visit
public void visit(MatchCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(MatchCriteria)
-
visit
public void visit(SearchedCaseExpression obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SetCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(SetCriteria)
-
visit
public void visit(DependentSetCriteria obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SubqueryCompareCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.SubqueryCompareCriteria)
-
visit
public void visit(SubquerySetCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.SubquerySetCriteria)
-
replaceExpression
public Expression replaceExpression(Expression element)
-
visit
public void visit(StoredProcedure obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(AggregateSymbol obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(GroupBy obj)
Swap each ElementSymbol in GroupBy (other symbols are ignored).- Overrides:
visit
in classLanguageVisitor
- Parameters:
obj
- Object to remap
-
visit
public void visit(OrderByItem obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Limit obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(DynamicCommand obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SetClause obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(QueryString obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ExpressionCriteria obj)
- Overrides:
visit
in classLanguageVisitor
-
mapExpressions
public static void mapExpressions(LanguageObject obj, Map<? extends Expression,? extends Expression> exprMap)
The object is modified in place, so is not returned.- Parameters:
obj
- Language objectexprMap
- Expression map, Expression to Expression
-
mapExpressions
public static void mapExpressions(LanguageObject obj, Map<? extends Expression,? extends Expression> exprMap, boolean deep)
The object is modified in place, so is not returned.- Parameters:
obj
- Language objectexprMap
- Expression map, Expression to Expression
-
setVariableValues
protected void setVariableValues(Map variableValues)
-
getVariableValues
protected Map getVariableValues()
-
visit
public void visit(AssignmentStatement obj)
- Overrides:
visit
in classLanguageVisitor
- Since:
- 5.0
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.proc.AssignmentStatement)
-
visit
public void visit(Insert obj)
- Overrides:
visit
in classLanguageVisitor
- Since:
- 5.0
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.Insert)
-
visit
public void visit(XMLElement obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(WindowSpecification windowSpecification)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Array array)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ExceptionExpression exceptionExpression)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ReturnStatement obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(IsDistinctCriteria isDistinctCriteria)
- Overrides:
visit
in classLanguageVisitor
-
-