/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.query.sql; import org.teiid.designer.query.sql.lang.IAlterProcedure; import org.teiid.designer.query.sql.lang.IAlterTrigger; import org.teiid.designer.query.sql.lang.IAlterView; import org.teiid.designer.query.sql.lang.IArrayTable; import org.teiid.designer.query.sql.lang.IBetweenCriteria; import org.teiid.designer.query.sql.lang.ICall; import org.teiid.designer.query.sql.lang.ICompareCriteria; import org.teiid.designer.query.sql.lang.ICompoundCriteria; import org.teiid.designer.query.sql.lang.ICreate; import org.teiid.designer.query.sql.lang.IDelete; import org.teiid.designer.query.sql.lang.IDrop; import org.teiid.designer.query.sql.lang.IDynamicCommand; import org.teiid.designer.query.sql.lang.IExistsCriteria; import org.teiid.designer.query.sql.lang.IExpressionCriteria; import org.teiid.designer.query.sql.lang.IFrom; import org.teiid.designer.query.sql.lang.IGroupBy; import org.teiid.designer.query.sql.lang.IInsert; import org.teiid.designer.query.sql.lang.IInto; import org.teiid.designer.query.sql.lang.IIsDistinctCriteria; import org.teiid.designer.query.sql.lang.IIsNullCriteria; import org.teiid.designer.query.sql.lang.IJoinPredicate; import org.teiid.designer.query.sql.lang.IJoinType; import org.teiid.designer.query.sql.lang.ILimit; import org.teiid.designer.query.sql.lang.IMatchCriteria; import org.teiid.designer.query.sql.lang.INamedProcedureCall; import org.teiid.designer.query.sql.lang.INotCriteria; import org.teiid.designer.query.sql.lang.IObjectTable; import org.teiid.designer.query.sql.lang.IOption; import org.teiid.designer.query.sql.lang.IOrderBy; import org.teiid.designer.query.sql.lang.IOrderByItem; import org.teiid.designer.query.sql.lang.IProcedureContainer; import org.teiid.designer.query.sql.lang.IQuery; import org.teiid.designer.query.sql.lang.ISelect; import org.teiid.designer.query.sql.lang.ISetClause; import org.teiid.designer.query.sql.lang.ISetClauseList; import org.teiid.designer.query.sql.lang.ISetCriteria; import org.teiid.designer.query.sql.lang.ISetQuery; import org.teiid.designer.query.sql.lang.IStoredProcedure; import org.teiid.designer.query.sql.lang.ISubqueryCompareCriteria; import org.teiid.designer.query.sql.lang.ISubqueryFromClause; import org.teiid.designer.query.sql.lang.ISubquerySetCriteria; import org.teiid.designer.query.sql.lang.ITextTable; import org.teiid.designer.query.sql.lang.IUnaryFromClause; import org.teiid.designer.query.sql.lang.IUpdate; import org.teiid.designer.query.sql.lang.IWithQueryCommand; import org.teiid.designer.query.sql.lang.IXMLTable; import org.teiid.designer.query.sql.proc.IAssignmentStatement; import org.teiid.designer.query.sql.proc.IBlock; import org.teiid.designer.query.sql.proc.IBranchingStatement; import org.teiid.designer.query.sql.proc.ICommandStatement; import org.teiid.designer.query.sql.proc.ICreateProcedureCommand; import org.teiid.designer.query.sql.proc.ICriteriaSelector; import org.teiid.designer.query.sql.proc.IDeclareStatement; import org.teiid.designer.query.sql.proc.IExceptionExpression; import org.teiid.designer.query.sql.proc.IHasCriteria; import org.teiid.designer.query.sql.proc.IIfStatement; import org.teiid.designer.query.sql.proc.ILoopStatement; import org.teiid.designer.query.sql.proc.IRaiseStatement; import org.teiid.designer.query.sql.proc.IReturnStatement; import org.teiid.designer.query.sql.proc.ITranslateCriteria; import org.teiid.designer.query.sql.proc.ITriggerAction; import org.teiid.designer.query.sql.proc.IWhileStatement; import org.teiid.designer.query.sql.symbol.IAggregateSymbol; import org.teiid.designer.query.sql.symbol.IAliasSymbol; import org.teiid.designer.query.sql.symbol.IArray; import org.teiid.designer.query.sql.symbol.ICaseExpression; import org.teiid.designer.query.sql.symbol.IConstant; import org.teiid.designer.query.sql.symbol.IDerivedColumn; import org.teiid.designer.query.sql.symbol.IElementSymbol; import org.teiid.designer.query.sql.symbol.IExpressionSymbol; import org.teiid.designer.query.sql.symbol.IFunction; import org.teiid.designer.query.sql.symbol.IGroupSymbol; import org.teiid.designer.query.sql.symbol.IMultipleElementSymbol; import org.teiid.designer.query.sql.symbol.IQueryString; import org.teiid.designer.query.sql.symbol.IReference; import org.teiid.designer.query.sql.symbol.IScalarSubquery; import org.teiid.designer.query.sql.symbol.ISearchedCaseExpression; import org.teiid.designer.query.sql.symbol.ITextLine; import org.teiid.designer.query.sql.symbol.IWindowFunction; import org.teiid.designer.query.sql.symbol.IWindowSpecification; import org.teiid.designer.query.sql.symbol.IXMLAttributes; import org.teiid.designer.query.sql.symbol.IXMLCast; import org.teiid.designer.query.sql.symbol.IXMLElement; import org.teiid.designer.query.sql.symbol.IXMLExists; import org.teiid.designer.query.sql.symbol.IXMLForest; import org.teiid.designer.query.sql.symbol.IXMLNamespaces; import org.teiid.designer.query.sql.symbol.IXMLParse; import org.teiid.designer.query.sql.symbol.IXMLQuery; import org.teiid.designer.query.sql.symbol.IXMLSerialize; import org.teiid.designer.runtime.version.spi.TeiidServerVersion.Version; /** * */ public interface ILanguageVisitor { // Visitor methods for language objects void visit(IBetweenCriteria obj); void visit(ICall obj); void visit(ICaseExpression obj); void visit(ICompareCriteria obj); void visit(ICompoundCriteria obj); void visit(ICreate obj); void visit(IDelete obj); void visit(IExistsCriteria obj); void visit(IFrom obj); void visit(IGroupBy obj); void visit(IInsert obj); void visit(IIsNullCriteria obj); void visit(IJoinPredicate obj); void visit(IJoinType obj); void visit(ILimit obj); void visit(IMatchCriteria obj); void visit(INamedProcedureCall obj); void visit(INotCriteria obj); void visit(IOption obj); void visit(IOrderBy obj); void visit(IQuery obj); void visit(ISearchedCaseExpression obj); void visit(ISelect obj); void visit(ISetCriteria obj); void visit(ISetQuery obj); void visit(IStoredProcedure obj); void visit(ISubqueryCompareCriteria obj); void visit(ISubqueryFromClause obj); void visit(ISubquerySetCriteria obj); void visit(IUnaryFromClause obj); void visit(IUpdate obj); void visit(IInto obj); void visit(IDrop obj); // Visitor methods for symbol objects void visit(IAggregateSymbol obj); void visit(IAliasSymbol obj); void visit(IArray obj); void visit(IMultipleElementSymbol obj); void visit(IConstant obj); void visit(IElementSymbol obj); void visit(IExpressionSymbol obj); void visit(IIsDistinctCriteria obj); void visit(IFunction obj); void visit(IGroupSymbol obj); void visit(IReference obj); void visit(IScalarSubquery obj); // Visitor methods for procedure language objects void visit(IAssignmentStatement obj); void visit(IBlock obj); void visit(ICommandStatement obj); void visit(ICreateProcedureCommand obj); void visit(ICriteriaSelector obj); void visit(IDeclareStatement obj); void visit(IHasCriteria obj); void visit(IIfStatement obj); void visit(IRaiseStatement obj); void visit(ITranslateCriteria obj); void visit(IBranchingStatement obj); void visit(IWhileStatement obj); void visit(ILoopStatement obj); void visit(IDynamicCommand obj); void visit(ISetClauseList obj); void visit(ISetClause obj); void visit(IOrderByItem obj); void visit(IXMLElement obj); void visit(IXMLAttributes obj); void visit(IXMLForest obj); void visit(IXMLNamespaces obj); void visit(ITextTable obj); void visit(ITextLine obj); void visit(IXMLTable obj); void visit(IXMLExists obj); void visit(IXMLCast obj); void visit(IDerivedColumn obj); void visit(IXMLSerialize obj); void visit(IXMLQuery obj); void visit(IQueryString obj); void visit(IXMLParse obj); void visit(IExpressionCriteria obj); void visit(IWithQueryCommand obj); void visit(ITriggerAction obj); void visit(IArrayTable obj); void visit(IProcedureContainer obj); void visit(IAlterView obj); void visit(IAlterProcedure obj); void visit(IAlterTrigger obj); void visit(IWindowFunction windowFunction); void visit(IObjectTable objectTable); void visit(IExceptionExpression obj); void visit(IReturnStatement obj); void visit(IWindowSpecification obj); }