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 booleancreateAliases()protected MapgetVariableValues()booleanisClone()static voidmapExpressions(LanguageObject obj, Map<? extends Expression,? extends Expression> exprMap)The object is modified in place, so is not returned.static voidmapExpressions(LanguageObject obj, Map<? extends Expression,? extends Expression> exprMap, boolean deep)The object is modified in place, so is not returned.ExpressionreplaceExpression(Expression element)voidsetClone(boolean clone)protected voidsetVariableValues(Map variableValues)voidvisit(BetweenCriteria obj)voidvisit(CompareCriteria obj)voidvisit(DependentSetCriteria obj)voidvisit(DynamicCommand obj)voidvisit(ExpressionCriteria obj)voidvisit(GroupBy obj)Swap each ElementSymbol in GroupBy (other symbols are ignored).voidvisit(Insert obj)voidvisit(IsDistinctCriteria isDistinctCriteria)voidvisit(IsNullCriteria obj)voidvisit(JsonTable obj)voidvisit(Limit obj)voidvisit(MatchCriteria obj)voidvisit(ObjectTable obj)voidvisit(OrderByItem obj)voidvisit(Select obj)voidvisit(SetClause obj)voidvisit(SetCriteria obj)voidvisit(StoredProcedure obj)voidvisit(SubqueryCompareCriteria obj)voidvisit(SubquerySetCriteria obj)voidvisit(XMLTable obj)voidvisit(AssignmentStatement obj)voidvisit(ExceptionExpression exceptionExpression)voidvisit(ReturnStatement obj)voidvisit(AggregateSymbol obj)voidvisit(AliasSymbol obj)voidvisit(Array array)voidvisit(CaseExpression obj)voidvisit(DerivedColumn obj)voidvisit(ExpressionSymbol expr)voidvisit(Function obj)voidvisit(QueryString obj)voidvisit(SearchedCaseExpression obj)voidvisit(WindowSpecification windowSpecification)voidvisit(XMLElement obj)voidvisit(XMLParse obj)voidvisit(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:
visitin classLanguageVisitor
-
isClone
public boolean isClone()
-
setClone
public void setClone(boolean clone)
-
visit
public void visit(DerivedColumn obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(XMLTable obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(JsonTable obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(ObjectTable obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(XMLSerialize obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(XMLParse obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(AliasSymbol obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(org.teiid.query.sql.symbol.AliasSymbol)
-
visit
public void visit(ExpressionSymbol expr)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(BetweenCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(BetweenCriteria)
-
visit
public void visit(CaseExpression obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(CompareCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(CompareCriteria)
-
visit
public void visit(Function obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(Function)
-
visit
public void visit(IsNullCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(IsNullCriteria)
-
visit
public void visit(MatchCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(MatchCriteria)
-
visit
public void visit(SearchedCaseExpression obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(SetCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(SetCriteria)
-
visit
public void visit(DependentSetCriteria obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(SubqueryCompareCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.SubqueryCompareCriteria)
-
visit
public void visit(SubquerySetCriteria obj)
- Overrides:
visitin classLanguageVisitor- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.SubquerySetCriteria)
-
replaceExpression
public Expression replaceExpression(Expression element)
-
visit
public void visit(StoredProcedure obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(AggregateSymbol obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(GroupBy obj)
Swap each ElementSymbol in GroupBy (other symbols are ignored).- Overrides:
visitin classLanguageVisitor- Parameters:
obj- Object to remap
-
visit
public void visit(OrderByItem obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(Limit obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(DynamicCommand obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(SetClause obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(QueryString obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(ExpressionCriteria obj)
- Overrides:
visitin 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:
visitin classLanguageVisitor- Since:
- 5.0
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.proc.AssignmentStatement)
-
visit
public void visit(Insert obj)
- Overrides:
visitin classLanguageVisitor- Since:
- 5.0
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.Insert)
-
visit
public void visit(XMLElement obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(WindowSpecification windowSpecification)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(Array array)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(ExceptionExpression exceptionExpression)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(ReturnStatement obj)
- Overrides:
visitin classLanguageVisitor
-
visit
public void visit(IsDistinctCriteria isDistinctCriteria)
- Overrides:
visitin classLanguageVisitor
-
-