Package org.teiid.query.sql.visitor
Class AbstractSymbolMappingVisitor
- java.lang.Object
-
- org.teiid.query.sql.LanguageVisitor
-
- org.teiid.query.sql.visitor.ExpressionMappingVisitor
-
- org.teiid.query.sql.visitor.AbstractSymbolMappingVisitor
-
- Direct Known Subclasses:
StaticSymbolMappingVisitor
public abstract class AbstractSymbolMappingVisitor extends ExpressionMappingVisitor
This class is used to update LanguageObjects by replacing one set of symbols with another. There is one abstract method which must be overridden to define how the mapping lookup occurs.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSymbolMappingVisitor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract SymbolgetMappedSymbol(Symbol symbol)Get the mapped symbol from the specified symbol.ListgetUnmappedSymbols()Get all symbols that were not mapped during life of visitor.ExpressionreplaceExpression(Expression element)voidvisit(Delete obj)This method updates theDeleteobject it receives as an argument by replacing the virtual groups/elements with their physical counterparts.voidvisit(Insert obj)This method updates theInsertobject it receives as an argument by replacing the virtual groups/elements with their physical counterparts.voidvisit(SetClause obj)voidvisit(StoredProcedure obj)Swap name of stored proc and elements in stored procedure parameter expressionsvoidvisit(UnaryFromClause obj)Swap group in unary from clause.voidvisit(Update obj)This method updates theUpdateobject it receives as an argument by replacing the virtual groups/elements with their physical counterparts.voidvisit(MultipleElementSymbol obj)Swap each ElementSymbol referenced by AllInGroupSymbol-
Methods inherited from class org.teiid.query.sql.visitor.ExpressionMappingVisitor
createAliases, getVariableValues, isClone, mapExpressions, mapExpressions, setClone, setVariableValues, 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 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
-
-
-
-
Method Detail
-
getMappedSymbol
protected abstract Symbol getMappedSymbol(Symbol symbol)
Get the mapped symbol from the specified symbol. Subclasses should implement this method to look up the target symbol from the specified symbol.- Parameters:
symbol- Source symbol- Returns:
- Target symbol
-
visit
public void visit(Insert obj)
This method updates the
Insertobject it receives as an argument by replacing the virtual groups/elements with their physical counterparts.- Overrides:
visitin classExpressionMappingVisitor- Parameters:
obj- The Insert object to be updated with physical groups/elements- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.Insert)
-
visit
public void visit(Delete obj)
This method updates the
Deleteobject it receives as an argument by replacing the virtual groups/elements with their physical counterparts.- Overrides:
visitin classLanguageVisitor- Parameters:
obj- The Delete object to be updated with physical groups
-
visit
public void visit(Update obj)
This method updates the
Updateobject it receives as an argument by replacing the virtual groups/elements with their physical counterparts.- Overrides:
visitin classLanguageVisitor- Parameters:
obj- The Update object to be updated with physical groups
-
visit
public void visit(SetClause obj)
- Overrides:
visitin classExpressionMappingVisitor
-
visit
public void visit(MultipleElementSymbol obj)
Swap each ElementSymbol referenced by AllInGroupSymbol- Overrides:
visitin classLanguageVisitor- Parameters:
obj- Object to remap
-
visit
public void visit(UnaryFromClause obj)
Swap group in unary from clause.- Overrides:
visitin classLanguageVisitor- Parameters:
obj- Object to remap
-
visit
public void visit(StoredProcedure obj)
Swap name of stored proc and elements in stored procedure parameter expressions- Overrides:
visitin classExpressionMappingVisitor- Parameters:
obj- Object to remap
-
replaceExpression
public Expression replaceExpression(Expression element)
- Overrides:
replaceExpressionin classExpressionMappingVisitor- See Also:
ExpressionMappingVisitor.replaceExpression(org.teiid.query.sql.symbol.Expression)
-
getUnmappedSymbols
public List getUnmappedSymbols()
Get all symbols that were not mapped during life of visitor. If all symbols were mapped, this will return null.- Returns:
- List of ElementSymbol and GroupSymbol that were unmapped OR null if all symbols mapped successfully
-
-