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 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055
00056
00057 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077
00078
00079
00080 #ifndef SAXEXCEPTION_HPP
00081 #define SAXEXCEPTION_HPP
00082
00083 #include <util/XMLString.hpp>
00084 #include <util/XMLUni.hpp>
00085
00086
00106 class SAXException
00107 {
00108 public:
00110
00113 SAXException() :
00114
00115 fMsg(XMLString::replicate(XMLUni::fgZeroLenString))
00116 {
00117 }
00118
00124 SAXException(const XMLCh* const msg) :
00125
00126 fMsg(XMLString::replicate(msg))
00127 {
00128 }
00129
00135 SAXException(const char* const msg) :
00136
00137 fMsg(XMLString::transcode(msg))
00138 {
00139 }
00140
00146 SAXException(const SAXException& toCopy) :
00147
00148 fMsg(XMLString::replicate(toCopy.fMsg))
00149 {
00150 }
00151
00153 virtual ~SAXException()
00154 {
00155 delete [] fMsg;
00156 }
00157
00158
00159
00160
00162
00168 SAXException& operator=(const SAXException& toCopy)
00169 {
00170 if (this == &toCopy)
00171 return *this;
00172
00173 delete [] fMsg;
00174 fMsg = XMLString::replicate(toCopy.fMsg);
00175 return *this;
00176 }
00177
00178
00180
00185 const XMLCh* getMessage() const
00186 {
00187 return fMsg;
00188 }
00189
00190
00191
00192 private :
00193
00194
00195
00196
00197
00198
00199 XMLCh* fMsg;
00200 };
00201
00202 #endif