/*
* JBoss, Home of Professional Open Source.
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership. Some portions may be licensed
* to Red Hat, Inc. under one or more contributor license agreements.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*/
package org.teiid.query.sql;
import org.teiid.query.sql.lang.*;
import org.teiid.query.sql.proc.*;
import org.teiid.query.sql.symbol.*;
/**
* <p>The LanguageVisitor can be used to visit a LanguageObject as if it were a tree
* and perform some action on some or all of the language objects that are visited.
* The LanguageVisitor is extended to create a concrete visitor and some or all of
* the public visit methods should be overridden to provide the visitor functionality.
* These public visit methods SHOULD NOT be called directly.</p>
*/
@SuppressWarnings("unused")
public abstract class LanguageVisitor {
private boolean abort = false;
public void setAbort(boolean abort) {
this.abort = abort;
}
public final boolean shouldAbort() {
return abort;
}
// Visitor methods for language objects
public void visit(BatchedUpdateCommand obj) {}
public void visit(BetweenCriteria obj) {}
public void visit(CaseExpression obj) {}
public void visit(CompareCriteria obj) {}
public void visit(CompoundCriteria obj) {}
public void visit(Delete obj) {
visit((ProcedureContainer)obj);
}
public void visit(ExistsCriteria obj) {}
public void visit(From obj) {}
public void visit(GroupBy obj) {}
public void visit(Insert obj) {
visit((ProcedureContainer)obj);
}
public void visit(IsNullCriteria obj) {}
public void visit(JoinPredicate obj) {}
public void visit(JoinType obj) {}
public void visit(Limit obj) {}
public void visit(MatchCriteria obj) {}
public void visit(NotCriteria obj) {}
public void visit(Option obj) {}
public void visit(OrderBy obj) {}
public void visit(Query obj) {}
public void visit(SearchedCaseExpression obj) {}
public void visit(Select obj) {}
public void visit(SetCriteria obj) {}
public void visit(SetQuery obj) {}
public void visit(StoredProcedure obj) {
visit((ProcedureContainer)obj);
}
public void visit(SubqueryCompareCriteria obj) {}
public void visit(SubqueryFromClause obj) {}
public void visit(SubquerySetCriteria obj) {}
public void visit(UnaryFromClause obj) {}
public void visit(Update obj) {
visit((ProcedureContainer)obj);
}
public void visit(Into obj) {}
public void visit(DependentSetCriteria obj) {}
public void visit(Create obj) {}
public void visit(Drop obj) {}
// Visitor methods for symbol objects
public void visit(AggregateSymbol obj) {}
public void visit(AliasSymbol obj) {}
public void visit(MultipleElementSymbol obj) {}
public void visit(Constant obj) {}
public void visit(ElementSymbol obj) {}
public void visit(ExpressionSymbol obj) {}
public void visit(Function obj) {}
public void visit(GroupSymbol obj) {}
public void visit(Reference obj) {}
public void visit(ScalarSubquery obj) {}
// Visitor methods for procedure language objects
public void visit(AssignmentStatement obj) {}
public void visit(Block obj) {}
public void visit(CommandStatement obj) {}
public void visit(CreateProcedureCommand obj) {}
public void visit(DeclareStatement obj) {
visit((AssignmentStatement)obj);
}
public void visit(IfStatement obj) {}
public void visit(RaiseStatement obj) {}
public void visit(BranchingStatement obj) {}
public void visit(WhileStatement obj) {}
public void visit(LoopStatement obj) {}
public void visit(DynamicCommand obj) {}
public void visit(ProcedureContainer obj) {}
public void visit(SetClauseList obj) {}
public void visit(SetClause obj) {}
public void visit(OrderByItem obj) {}
public void visit(XMLElement obj) {}
public void visit(XMLAttributes obj) {}
public void visit(XMLForest obj) {}
public void visit(XMLNamespaces obj) {}
public void visit(TextTable obj) {}
public void visit(TextLine obj) {}
public void visit(XMLTable obj) {}
public void visit(DerivedColumn obj) {}
public void visit(XMLSerialize obj) {}
public void visit(XMLQuery obj) {}
public void visit(QueryString obj) {}
public void visit(XMLParse obj) {}
public void visit(ExpressionCriteria obj) {}
public void visit(WithQueryCommand obj) {}
public void visit(TriggerAction obj) {}
public void visit(ArrayTable obj) {}
public void visit(AlterView obj) {}
public void visit(AlterProcedure obj) {}
public void visit(AlterTrigger obj) {}
public void visit(WindowFunction windowFunction) {}
public void visit(WindowSpecification windowSpecification) {}
public void visit(Array array) {}
public void visit(ObjectTable objectTable) {}
public void visit(ExceptionExpression obj) {}
public void visit(ReturnStatement obj) {}
public void visit(JSONObject obj) {}
public void visit(XMLExists xmlExists) {}
public void visit(XMLCast xmlCast) {}
public void visit(IsDistinctCriteria isDistinctCriteria) {}
}