Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XSLException.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(XSLEXCEPTION_HEADER_GUARD_1357924680)
17 #define XSLEXCEPTION_HEADER_GUARD_1357924680
18 
19 
20 
21 // Base include file. Must be first.
23 
24 
25 
28 
29 
30 
31 XALAN_CPP_NAMESPACE_BEGIN
32 
33 
34 
35 typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType;
36 
37 
38 
40 {
41 public:
42 
44 
55  const XalanDOMString& theMessage,
56  const XalanDOMString& theURI,
57  int theLineNumber,
58  int theColumnNumber,
59  MemoryManagerType& theManager);
68  const LocatorType& theLocator,
69  const XalanDOMString& theMessage,
70  MemoryManagerType& theManager);
78  const XalanDOMString& theMessage,
79  MemoryManagerType& theManager);
80 
81 
82  XSLException(const XSLException& other);
83 
84  virtual
85  ~XSLException();
86 
92  virtual const XalanDOMChar*
93  getType() const = 0;
94 
100  const XalanDOMString&
101  getMessage() const
102  {
103  return m_message;
104  }
105 
111  const XalanDOMString&
112  getURI() const
113  {
114  return m_uri;
115  }
116 
122  size_type
123  getLineNumber() const
124  {
125  return m_lineNumber;
126  }
127 
133  size_type
134  getColumnNumber() const
135  {
136  return m_columnNumber;
137  }
138 
139 
141  getMemoryManager()const
142  {
143 //#pragma message ("Breaks the const-correctness !")
144  XalanDOMString* pnt = const_cast<XalanDOMString*>(&m_message);
145  return pnt->getMemoryManager();
146  }
147 
148  void
149  defaultFormat(XalanDOMString& theBuffer) const;
150 
151  static void
152  defaultFormat(
153  const XalanDOMString& theMessage,
154  const XalanDOMString& theURI,
155  size_type theLineNumber,
156  size_type theColumnNumber,
157  const XalanDOMChar* theType,
158  XalanDOMString& theBuffer)
159  {
160  defaultFormat(
161  theMessage.c_str(),
162  theMessage.size(),
163  theURI.c_str(),
164  theURI.size(),
165  theLineNumber,
166  theColumnNumber,
167  theType,
168  XalanDOMString::length(theType),
169  theBuffer);
170  }
171 
172  static void
173  defaultFormat(
174  const XalanDOMChar* theMessage,
175  const XalanDOMChar* theURI,
176  size_type theLineNumber,
177  size_type theColumnNumber,
178  const XalanDOMChar* theType,
179  XalanDOMString& theBuffer)
180  {
181  assert(theMessage != 0 && theURI != 0 && theType != 0);
182 
183  defaultFormat(
184  theMessage,
185  XalanDOMString::length(theMessage),
186  theURI,
187  XalanDOMString::length(theURI),
188  theLineNumber,
189  theColumnNumber,
190  theType,
191  XalanDOMString::length(theType),
192  theBuffer);
193  }
194 
195  static void
196  defaultFormat(
197  const XalanDOMChar* theMessage,
198  const XalanDOMString::size_type theMessageLength,
199  const XalanDOMChar* theURI,
200  const XalanDOMString::size_type theURILength,
201  size_type theLineNumber,
202  size_type theColumnNumber,
203  const XalanDOMChar* theType,
204  const XalanDOMString::size_type theTypeLength,
205  XalanDOMString& theBuffer);
206 
207 private:
208 
209  const XalanDOMString m_message;
210  const XalanDOMString m_uri;
211 
212  const size_type m_lineNumber;
213  const size_type m_columnNumber;
214 
215 
216 };
217 
218 
219 
220 XALAN_CPP_NAMESPACE_END
221 
222 
223 
224 #endif // XSLEXCEPTION_HEADER_GUARD_1357924680

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo