TurtleDB
A mini distributed database system
|
00001 /*------------------------------------------------------------------------- 00002 Simple distributed database engine 00003 Copyright (C) 2012 Sylvain Hallé 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 -------------------------------------------------------------------------*/ 00018 package ca.uqac.dim.turtledb; 00019 00020 public abstract class QueryVisitor 00021 { 00022 public abstract void visit(Projection r) throws VisitorException; 00023 00024 public abstract void visit(Selection r) throws VisitorException; 00025 00026 public abstract void visit(Table r) throws VisitorException; 00027 00028 public abstract void visit(VariableTable r) throws VisitorException; 00029 00030 public abstract void visit(Union r) throws VisitorException; 00031 00032 public abstract void visit(Intersection r) throws VisitorException; 00033 00034 public abstract void visit(Join r) throws VisitorException; 00035 00036 public abstract void visit(Product r) throws VisitorException; 00037 00042 public class VisitorException extends Exception 00043 { 00044 protected String m_message = "VisitorException"; 00045 private static final long serialVersionUID = 1L; 00046 00047 public VisitorException(String msg) 00048 { 00049 m_message = msg; 00050 } 00051 00052 @Override 00053 public String toString() 00054 { 00055 return m_message; 00056 } 00057 00058 } 00059 }