00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
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 }
00121
00122 #endif