NoSuchRow.h

00001 /*
00002  * ALMA - Atacama Large Millimeter Array
00003  * (c) European Southern Observatory, 2002
00004  * (c) Associated Universities Inc., 2002
00005  * Copyright by ESO (in the framework of the ALMA collaboration),
00006  * Copyright by AUI (in the framework of the ALMA collaboration),
00007  * All rights reserved.
00008  * 
00009  * This library is free software; you can redistribute it and/or
00010  * modify it under the terms of the GNU Lesser General Public
00011  * License as published by the Free software Foundation; either
00012  * version 2.1 of the License, or (at your option) any later version.
00013  * 
00014  * This library is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY, without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  * Lesser General Public License for more details.
00018  * 
00019  * You should have received a copy of the GNU Lesser General Public
00020  * License along with this library; if not, write to the Free Software
00021  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00022  * MA 02111-1307  USA
00023  *
00024  * File NoSuchRow.h
00025  */
00026  
00027 #ifndef NoSuchRow_CLASS
00028 #define NoSuchRow_CLASS
00029 
00030 #include <string>
00031 using std::string;
00032 
00033 #include <Integer.h>
00034 using asdm::Integer;
00035 
00036 namespace asdm {
00037 
00041 class NoSuchRow {
00042 
00043 public:
00044 
00050         NoSuchRow(int rowNumber, string tableName);
00051 
00057         NoSuchRow(string key, string tableName);
00058 
00065         NoSuchRow(int N, string toTableName, string fromTableName);
00066 
00073         NoSuchRow(string key, string toTableName, string fromTableName);
00074 
00081         NoSuchRow(string toTableName, string fromTableName, bool option);
00082         
00083         string getMessage() const;
00084         
00085 protected:
00086 
00087         string message;
00088 
00089 };
00090 
00091 inline string NoSuchRow::getMessage() const {
00092         return message;
00093 }
00094 
00095 inline NoSuchRow::NoSuchRow(int rowNumber, string tableName) :
00096         message("No such row as number " + Integer::toString(rowNumber) + 
00097                 " in table " + tableName) {
00098 }
00099 
00100 inline NoSuchRow::NoSuchRow(string key, string tableName) :
00101         message("No such row with key " + key + " in table " + tableName) {
00102 }
00103 
00104 inline NoSuchRow::NoSuchRow(int N, string toTableName, string fromTableName) :
00105         message("No such link as number " + Integer::toString(N) + " to table " + 
00106                                 toTableName + " in this row of table " + fromTableName) {
00107 }
00108 
00109 inline NoSuchRow::NoSuchRow(string key, string toTableName, string fromTableName) :
00110         message("No such link with key " + key + " to table " + 
00111                                 toTableName + " in this row of table " + fromTableName) {
00112 }
00113 
00114 inline NoSuchRow::NoSuchRow(string toTableName, string fromTableName, bool option) :
00115         message("The optional link to table " + toTableName + " in this row of table " + 
00116                 fromTableName + " does not exist! ")  {
00117 }
00118 
00119 
00120 } // End namespace asdm
00121 
00122 #endif /* NoSuchRow_CLASS */

Generated on Thu Nov 29 16:46:46 2007 for ASDM C++ Implementation by  doxygen 1.5.1