1 /*2 * This file belongs to the XQuark distribution.3 * Copyright (C) 2003 Universite de Versailles Saint-Quentin.4 * 5 * This program is free software; you can redistribute it and/or6 * modify it under the terms of the GNU Lesser General Public7 * License as published by the Free Software Foundation; either8 * version 2.1 of the License, or (at your option) any later version.9 * 10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU13 * Lesser General Public License for more details.14 * 15 * You should have received a copy of the GNU Lesser General Public16 * License along with this program; if not, write to the Free Software17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.18 * You can also get it at http://www.gnu.org/licenses/lgpl.html19 * 20 * For more information on this software, see http://www.xquark.org.21 */22 23 package org.xquark.extractor.algebra;24 25 import org.xquark.extractor.common.SqlWrapperException;26 import org.xquark.extractor.xfunctions.*;27 28 public interface AlgebraVisitor {29 30 public Expression getVisitedExpression();31 32 public void visit(Attribute arg) throws SqlWrapperException;33 34 public void visit(AttributeExpression arg) throws SqlWrapperException;35 36 public void visit(BinOpArithmetic arg) throws SqlWrapperException;37 38 public void visit(BinOpBoolean arg) throws SqlWrapperException;39 40 public void visit(BinOpCompare arg) throws SqlWrapperException;41 42 public void visit(BinOpCompareAny arg) throws SqlWrapperException;43 44 public void visit(BinOpDifference arg) throws SqlWrapperException;45 46 public void visit(BinOpIntersect arg) throws SqlWrapperException;47 48 public void visit(BinOpMerge arg) throws SqlWrapperException;49 50 public void visit(BinOpOuterJoin arg) throws SqlWrapperException;51 52 public void visit(BinOpUnion arg) throws SqlWrapperException;53 54 public void visit(DummyTable arg) throws SqlWrapperException;55 56 public void visit(ExternalVariable arg) throws SqlWrapperException;57 58 public void visit(UnOpExists arg) throws SqlWrapperException;59 60 public void visit(FunAggregate arg) throws SqlWrapperException;61 62 public void visit(IfThenElse arg) throws SqlWrapperException;63 64 public void visit(Join arg) throws SqlWrapperException;65 66 public void visit(LitBoolean arg) throws SqlWrapperException;67 68 public void visit(LitDate arg) throws SqlWrapperException;69 70 public void visit(LitDouble arg) throws SqlWrapperException;71 72 public void visit(LitFloat arg) throws SqlWrapperException;73 74 public void visit(LitDecimal arg) throws SqlWrapperException;75 76 public void visit(LitInteger arg) throws SqlWrapperException;77 78 public void visit(LitNull arg) throws SqlWrapperException;79 80 public void visit(LitList arg) throws SqlWrapperException;81 82 public void visit(LitString arg) throws SqlWrapperException;83 84 public void visit(OuterJoinPredicate arg) throws SqlWrapperException;85 86 public void visit(RenameItem arg) throws SqlWrapperException;87 88 public void visit(RenameRelation arg) throws SqlWrapperException;89 90 public void visit(SortSpecification arg) throws SqlWrapperException;91 92 public void visit(TupleExpression arg) throws SqlWrapperException;93 94 public void visit(Table arg) throws SqlWrapperException;95 96 public void visit(TempValue arg) throws SqlWrapperException;97 98 public void visit(ConstantTempTable arg) throws SqlWrapperException;99 100 public void visit(TempTable arg) throws SqlWrapperException;101 102 public void visit(UnOpAggregate arg) throws SqlWrapperException;103 104 public void visit(UnOpGroup arg) throws SqlWrapperException;105 106 public void visit(UnOpIsNull arg) throws SqlWrapperException;107 108 public void visit(UnOpMinus arg) throws SqlWrapperException;109 110 public void visit(UnOpNot arg) throws SqlWrapperException;111 112 public void visit(UnOpProject arg) throws SqlWrapperException;113 114 public void visit(UnOpRestrict arg) throws SqlWrapperException;115 116 public void visit(UnOpSort arg) throws SqlWrapperException;117 118 public void visit(AfCast arg) throws SqlWrapperException;119 120 public void visit(AfTrim arg) throws SqlWrapperException;121 122 public void visit(XfCast arg) throws SqlWrapperException;123 124 public void visit(XfAbs arg) throws SqlWrapperException;125 126 public void visit(XfCeiling arg) throws SqlWrapperException;127 128 public void visit(XfConcat arg) throws SqlWrapperException;129 130 public void visit(XfContains arg) throws SqlWrapperException;131 132 public void visit(XfCurrentDateTime arg) throws SqlWrapperException;133 134 public void visit(XfGetCenturyFromDate arg) throws SqlWrapperException;135 136 public void visit(XfGetHourFromTime arg) throws SqlWrapperException;137 138 public void visit(XfGetMinutesFromtime arg) throws SqlWrapperException;139 140 public void visit(XfGetSecondsFromtime arg) throws SqlWrapperException;141 142 public void visit(XfDate arg) throws SqlWrapperException;143 144 public void visit(XfDateTime arg) throws SqlWrapperException;145 146 public void visit(XfEndsWith arg) throws SqlWrapperException;147 148 public void visit(XfFloor arg) throws SqlWrapperException;149 150 public void visit(XfLowerCase arg) throws SqlWrapperException;151 152 public void visit(XfRound arg) throws SqlWrapperException;153 154 public void visit(XfStartsWith arg) throws SqlWrapperException;155 156 public void visit(XfStringLength arg) throws SqlWrapperException;157 158 public void visit(XfSubString arg) throws SqlWrapperException;159 160 public void visit(XfTime arg) throws SqlWrapperException;161 162 public void visit(XfUpperCase arg) throws SqlWrapperException;163 164 }165