KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xml > sax > SAXParseException


1 // SAX exception class.
2
// http://www.saxproject.org
3
// No warranty; no copyright -- use this as you will.
4
// $Id: SAXParseException.java,v 1.1.24.1.2.1 2004/06/08 22:44:57 rameshm Exp $
5

6 package org.xml.sax;
7
8 /**
9  * Encapsulate an XML parse error or warning.
10  *
11  * <blockquote>
12  * <em>This module, both source code and documentation, is in the
13  * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
14  * See <a HREF='http://www.saxproject.org'>http://www.saxproject.org</a>
15  * for further information.
16  * </blockquote>
17  *
18  * <p>This exception may include information for locating the error
19  * in the original XML document, as if it came from a {@link Locator}
20  * object. Note that although the application
21  * will receive a SAXParseException as the argument to the handlers
22  * in the {@link org.xml.sax.ErrorHandler ErrorHandler} interface,
23  * the application is not actually required to throw the exception;
24  * instead, it can simply read the information in it and take a
25  * different action.</p>
26  *
27  * <p>Since this exception is a subclass of {@link org.xml.sax.SAXException
28  * SAXException}, it inherits the ability to wrap another exception.</p>
29  *
30  * @since SAX 1.0
31  * @author David Megginson
32  * @version 2.0.1 (sax2r2)
33  * @see org.xml.sax.SAXException
34  * @see org.xml.sax.Locator
35  * @see org.xml.sax.ErrorHandler
36  */

37 public class SAXParseException extends SAXException JavaDoc {
38     
39     
40     //////////////////////////////////////////////////////////////////////
41
// Constructors.
42
//////////////////////////////////////////////////////////////////////
43

44
45     /**
46      * Create a new SAXParseException from a message and a Locator.
47      *
48      * <p>This constructor is especially useful when an application is
49      * creating its own exception from within a {@link org.xml.sax.ContentHandler
50      * ContentHandler} callback.</p>
51      *
52      * @param message The error or warning message.
53      * @param locator The locator object for the error or warning (may be
54      * null).
55      * @see org.xml.sax.Locator
56      */

57     public SAXParseException (String JavaDoc message, Locator JavaDoc locator) {
58     super(message);
59     if (locator != null) {
60         init(locator.getPublicId(), locator.getSystemId(),
61          locator.getLineNumber(), locator.getColumnNumber());
62     } else {
63         init(null, null, -1, -1);
64     }
65     }
66     
67     
68     /**
69      * Wrap an existing exception in a SAXParseException.
70      *
71      * <p>This constructor is especially useful when an application is
72      * creating its own exception from within a {@link org.xml.sax.ContentHandler
73      * ContentHandler} callback, and needs to wrap an existing exception that is not a
74      * subclass of {@link org.xml.sax.SAXException SAXException}.</p>
75      *
76      * @param message The error or warning message, or null to
77      * use the message from the embedded exception.
78      * @param locator The locator object for the error or warning (may be
79      * null).
80      * @param e Any exception.
81      * @see org.xml.sax.Locator
82      */

83     public SAXParseException (String JavaDoc message, Locator JavaDoc locator,
84                   Exception JavaDoc e) {
85     super(message, e);
86     if (locator != null) {
87         init(locator.getPublicId(), locator.getSystemId(),
88          locator.getLineNumber(), locator.getColumnNumber());
89     } else {
90         init(null, null, -1, -1);
91     }
92     }
93     
94     
95     /**
96      * Create a new SAXParseException.
97      *
98      * <p>This constructor is most useful for parser writers.</p>
99      *
100      * <p>All parameters except the message are as if
101      * they were provided by a {@link Locator}. For example, if the
102      * system identifier is a URL (including relative filename), the
103      * caller must resolve it fully before creating the exception.</p>
104      *
105      *
106      * @param message The error or warning message.
107      * @param publicId The public identifier of the entity that generated
108      * the error or warning.
109      * @param systemId The system identifier of the entity that generated
110      * the error or warning.
111      * @param lineNumber The line number of the end of the text that
112      * caused the error or warning.
113      * @param columnNumber The column number of the end of the text that
114      * cause the error or warning.
115      */

116     public SAXParseException (String JavaDoc message, String JavaDoc publicId, String JavaDoc systemId,
117                   int lineNumber, int columnNumber)
118     {
119     super(message);
120     init(publicId, systemId, lineNumber, columnNumber);
121     }
122     
123     
124     /**
125      * Create a new SAXParseException with an embedded exception.
126      *
127      * <p>This constructor is most useful for parser writers who
128      * need to wrap an exception that is not a subclass of
129      * {@link org.xml.sax.SAXException SAXException}.</p>
130      *
131      * <p>All parameters except the message and exception are as if
132      * they were provided by a {@link Locator}. For example, if the
133      * system identifier is a URL (including relative filename), the
134      * caller must resolve it fully before creating the exception.</p>
135      *
136      * @param message The error or warning message, or null to use
137      * the message from the embedded exception.
138      * @param publicId The public identifier of the entity that generated
139      * the error or warning.
140      * @param systemId The system identifier of the entity that generated
141      * the error or warning.
142      * @param lineNumber The line number of the end of the text that
143      * caused the error or warning.
144      * @param columnNumber The column number of the end of the text that
145      * cause the error or warning.
146      * @param e Another exception to embed in this one.
147      */

148     public SAXParseException (String JavaDoc message, String JavaDoc publicId, String JavaDoc systemId,
149                   int lineNumber, int columnNumber, Exception JavaDoc e)
150     {
151     super(message, e);
152     init(publicId, systemId, lineNumber, columnNumber);
153     }
154
155
156     /**
157      * Internal initialization method.
158      *
159      * @param publicId The public identifier of the entity which generated the exception,
160      * or null.
161      * @param systemId The system identifier of the entity which generated the exception,
162      * or null.
163      * @param lineNumber The line number of the error, or -1.
164      * @param columnNumber The column number of the error, or -1.
165      */

166     private void init (String JavaDoc publicId, String JavaDoc systemId,
167                int lineNumber, int columnNumber)
168     {
169     this.publicId = publicId;
170     this.systemId = systemId;
171     this.lineNumber = lineNumber;
172     this.columnNumber = columnNumber;
173     }
174     
175     
176     /**
177      * Get the public identifier of the entity where the exception occurred.
178      *
179      * @return A string containing the public identifier, or null
180      * if none is available.
181      * @see org.xml.sax.Locator#getPublicId
182      */

183     public String JavaDoc getPublicId ()
184     {
185     return this.publicId;
186     }
187     
188     
189     /**
190      * Get the system identifier of the entity where the exception occurred.
191      *
192      * <p>If the system identifier is a URL, it will have been resolved
193      * fully.</p>
194      *
195      * @return A string containing the system identifier, or null
196      * if none is available.
197      * @see org.xml.sax.Locator#getSystemId
198      */

199     public String JavaDoc getSystemId ()
200     {
201     return this.systemId;
202     }
203     
204     
205     /**
206      * The line number of the end of the text where the exception occurred.
207      *
208      * <p>The first line is line 1.</p>
209      *
210      * @return An integer representing the line number, or -1
211      * if none is available.
212      * @see org.xml.sax.Locator#getLineNumber
213      */

214     public int getLineNumber ()
215     {
216     return this.lineNumber;
217     }
218     
219     
220     /**
221      * The column number of the end of the text where the exception occurred.
222      *
223      * <p>The first column in a line is position 1.</p>
224      *
225      * @return An integer representing the column number, or -1
226      * if none is available.
227      * @see org.xml.sax.Locator#getColumnNumber
228      */

229     public int getColumnNumber ()
230     {
231     return this.columnNumber;
232     }
233     
234     
235     //////////////////////////////////////////////////////////////////////
236
// Internal state.
237
//////////////////////////////////////////////////////////////////////
238

239
240     /**
241      * @serial The public identifier, or null.
242      * @see #getPublicId
243      */

244     private String JavaDoc publicId;
245
246
247     /**
248      * @serial The system identifier, or null.
249      * @see #getSystemId
250      */

251     private String JavaDoc systemId;
252
253
254     /**
255      * @serial The line number, or -1.
256      * @see #getLineNumber
257      */

258     private int lineNumber;
259
260
261     /**
262      * @serial The column number, or -1.
263      * @see #getColumnNumber
264      */

265     private int columnNumber;
266     
267     // Added serialVersionUID to preserve binary compatibility
268
static final long serialVersionUID = -5651165872476709336L;
269 }
270
271 // end of SAXParseException.java
272
Popular Tags