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