00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file SAXExceptions.h 00006 * 00007 * $Id: SAXExceptions.h 80826 2008-03-04 14:51:23Z wotte $ 00008 * 00009 * @author Nanbor Wang <nanbor@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef _ACEXML_SAXEXCEPTIONS_H_ 00014 #define _ACEXML_SAXEXCEPTIONS_H_ 00015 00016 #include /**/ "ace/pre.h" 00017 #include "ACEXML/common/ACEXML_Export.h" 00018 00019 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00020 #pragma once 00021 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00022 00023 #include "ACEXML/common/Exception.h" 00024 00025 /** 00026 * @class ACEXML_SAXException SAXExceptions.h "ACEXML/common/SAXExceptions.h" 00027 * 00028 * @brief ACEXML_SAXException 00029 * 00030 * ACEXML_SAXException is the mother of all SAX related exceptions. 00031 */ 00032 class ACEXML_Export ACEXML_SAXException : public ACEXML_Exception 00033 { 00034 public: 00035 /// Default constructor. 00036 ACEXML_SAXException (void); 00037 00038 /// Constructor initializing the exception message. 00039 ACEXML_SAXException (const ACEXML_Char *msg); 00040 00041 /// Assignment operator 00042 ACEXML_SAXException& operator= (const ACEXML_SAXException& src); 00043 00044 /// Copy constructor. 00045 ACEXML_SAXException (const ACEXML_SAXException &ex); 00046 00047 /// Destructor. 00048 virtual ~ACEXML_SAXException (void); 00049 00050 /// Throw the exception. 00051 virtual void _raise (void); 00052 00053 /// Static narrow operation. 00054 static ACEXML_SAXException* _downcast (ACEXML_Exception* ex); 00055 00056 /// Return the name of the exception. 00057 virtual const ACEXML_Char *id (void) const; 00058 00059 /// Return the extra message accompanying the exception. 00060 const ACEXML_Char *message (void) const; 00061 00062 virtual ACEXML_Exception *duplicate (void) const; 00063 00064 virtual int is_a (const ACEXML_Char *name); 00065 00066 virtual void print (void) const; 00067 00068 protected: 00069 static const ACEXML_Char * exception_name_; 00070 00071 /// A message providing more information about the exception being thrown. 00072 ACEXML_Char *message_; 00073 }; 00074 00075 /** 00076 * @class ACEXML_SAXNotSupportedException SAXExceptions.h "ACEXML/common/SAXExceptions.h" 00077 * 00078 * @brief ACEXML_SAXNotSupportedException 00079 */ 00080 class ACEXML_Export ACEXML_SAXNotSupportedException 00081 : public ACEXML_SAXException 00082 { 00083 public: 00084 /// Default constructor. 00085 ACEXML_SAXNotSupportedException (void); 00086 00087 /// Copy constructor. 00088 ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex); 00089 00090 /// Assignment operator 00091 ACEXML_SAXNotSupportedException& operator= (const ACEXML_SAXNotSupportedException &ex); 00092 00093 /// Constructor which accepts an informational message 00094 ACEXML_SAXNotSupportedException (const ACEXML_Char* msg); 00095 00096 /// Destructor. 00097 virtual ~ACEXML_SAXNotSupportedException (void); 00098 00099 /// Throw the exception. 00100 virtual void _raise (void); 00101 00102 /// Static narrow operation. 00103 static ACEXML_SAXNotSupportedException* _downcast (ACEXML_Exception* ex); 00104 00105 virtual const ACEXML_Char *id (void) const; 00106 00107 virtual ACEXML_Exception *duplicate (void) const; 00108 00109 virtual int is_a (const ACEXML_Char *name); 00110 00111 virtual void print (void) const; 00112 00113 protected: 00114 static const ACEXML_Char exception_name_[]; 00115 }; 00116 00117 /** 00118 * @class ACEXML_SAXNotRecognizedException SAXExceptions.h "ACEXML/common/SAXExceptions.h" 00119 * 00120 * @brief ACEXML_SAXNotRecognizedException 00121 */ 00122 class ACEXML_Export ACEXML_SAXNotRecognizedException 00123 : public ACEXML_SAXException 00124 { 00125 public: 00126 /// Default constructor. 00127 ACEXML_SAXNotRecognizedException (void); 00128 00129 /// Constructor with an initializing exception message. 00130 ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg); 00131 00132 /// Copy constructor. 00133 ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex); 00134 00135 /// Assignment operator. 00136 ACEXML_SAXNotRecognizedException& operator= (const ACEXML_SAXNotRecognizedException &ex); 00137 00138 /// Destructor. 00139 virtual ~ACEXML_SAXNotRecognizedException (void); 00140 00141 /// Throw the exception. 00142 virtual void _raise (void); 00143 00144 /// Static narrow operation. 00145 static ACEXML_SAXNotRecognizedException* _downcast (ACEXML_Exception* ex); 00146 00147 virtual const ACEXML_Char *id (void) const; 00148 00149 virtual ACEXML_Exception *duplicate (void) const; 00150 00151 virtual int is_a (const ACEXML_Char *name); 00152 00153 virtual void print (void) const; 00154 00155 protected: 00156 static const ACEXML_Char exception_name_[]; 00157 }; 00158 00159 /** 00160 * @class ACEXML_SAXParseException SAXExceptions.h "ACEXML/common/SAXExceptions.h" 00161 * 00162 * @brief ACEXML_SAXParseException 00163 * 00164 */ 00165 class ACEXML_Export ACEXML_SAXParseException 00166 : public ACEXML_SAXException 00167 { 00168 public: 00169 /// Default constructor. 00170 ACEXML_SAXParseException (void); 00171 00172 /// Constructor with an initializing exception message. 00173 ACEXML_SAXParseException (const ACEXML_Char *msg); 00174 00175 /// Copy constructor. 00176 ACEXML_SAXParseException (const ACEXML_SAXParseException &ex); 00177 00178 /// Assignment operator. 00179 ACEXML_SAXParseException& operator= (const ACEXML_SAXParseException &ex); 00180 00181 /// Destructor. 00182 virtual ~ACEXML_SAXParseException (void); 00183 00184 /// Throw the exception. 00185 virtual void _raise (void); 00186 00187 /// Static narrow operation. 00188 static ACEXML_SAXParseException* _downcast (ACEXML_Exception* ex); 00189 00190 virtual const ACEXML_Char *id (void) const; 00191 00192 virtual ACEXML_Exception *duplicate (void) const; 00193 00194 virtual int is_a (const ACEXML_Char *name); 00195 00196 virtual void print (void) const; 00197 00198 protected: 00199 static const ACEXML_Char exception_name_[]; 00200 }; 00201 00202 #if defined (__ACEXML_INLINE__) 00203 # include "ACEXML/common/SAXExceptions.inl" 00204 #endif /* __ACEXML_INLINE__ */ 00205 00206 #include /**/ "ace/post.h" 00207 00208 #endif /* _ACEXML_SAXEXCEPTIONS_H_ */