KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > org > apache > xerces > internal > xni > parser > XMLParseException


1 /*
2  * The Apache Software License, Version 1.1
3  *
4  *
5  * Copyright (c) 2001, 2002 The Apache Software Foundation.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. The end-user documentation included with the redistribution,
21  * if any, must include the following acknowledgment:
22  * "This product includes software developed by the
23  * Apache Software Foundation (http://www.apache.org/)."
24  * Alternately, this acknowledgment may appear in the software itself,
25  * if and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "Xerces" and "Apache Software Foundation" must
28  * not be used to endorse or promote products derived from this
29  * software without prior written permission. For written
30  * permission, please contact apache@apache.org.
31  *
32  * 5. Products derived from this software may not be called "Apache",
33  * nor may "Apache" appear in their name, without prior written
34  * permission of the Apache Software Foundation.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47  * SUCH DAMAGE.
48  * ====================================================================
49  *
50  * This software consists of voluntary contributions made by many
51  * individuals on behalf of the Apache Software Foundation and was
52  * originally based on software copyright (c) 1999, International
53  * Business Machines, Inc., http://www.apache.org. For more
54  * information on the Apache Software Foundation, please see
55  * <http://www.apache.org/>.
56  */

57
58 package com.sun.org.apache.xerces.internal.xni.parser;
59
60 import com.sun.org.apache.xerces.internal.xni.XMLLocator;
61 import com.sun.org.apache.xerces.internal.xni.XNIException;
62
63 /**
64  * A parsing exception. This exception is different from the standard
65  * XNI exception in that it stores the location in the document (or
66  * its entities) where the exception occurred.
67  *
68  * @author Andy Clark, IBM
69  *
70  * @version $Id: XMLParseException.java,v 1.4 2002/01/29 01:15:19 lehors Exp $
71  */

72 public class XMLParseException
73     extends XNIException {
74
75     //
76
// Data
77
//
78

79     /** Public identifier. */
80     protected String JavaDoc fPublicId;
81
82     /** literal System identifier. */
83     protected String JavaDoc fLiteralSystemId;
84
85     /** expanded System identifier. */
86     protected String JavaDoc fExpandedSystemId;
87
88     /** Base system identifier. */
89     protected String JavaDoc fBaseSystemId;
90
91     /** Line number. */
92     protected int fLineNumber = -1;
93     
94     /** Column number. */
95     protected int fColumnNumber = -1;
96
97     //
98
// Constructors
99
//
100

101     /** Constructs a parse exception. */
102     public XMLParseException(XMLLocator locator, String JavaDoc message) {
103         super(message);
104         if (locator != null) {
105             fPublicId = locator.getPublicId();
106             fLiteralSystemId = locator.getLiteralSystemId();
107             fExpandedSystemId = locator.getExpandedSystemId();
108             fBaseSystemId = locator.getBaseSystemId();
109             fLineNumber = locator.getLineNumber();
110             fColumnNumber = locator.getColumnNumber();
111         }
112     } // <init>(XMLLocator,String)
113

114     /** Constructs a parse exception. */
115     public XMLParseException(XMLLocator locator,
116                              String JavaDoc message, Exception JavaDoc exception) {
117         super(message, exception);
118         fPublicId = locator.getPublicId();
119         fLiteralSystemId = locator.getLiteralSystemId();
120         fExpandedSystemId = locator.getExpandedSystemId();
121         fBaseSystemId = locator.getBaseSystemId();
122         fLineNumber = locator.getLineNumber();
123         fColumnNumber = locator.getColumnNumber();
124     } // <init>(XMLLocator,String,Exception)
125

126     //
127
// Public methods
128
//
129

130     /** Returns the public identifier. */
131     public String JavaDoc getPublicId() {
132         return fPublicId;
133     } // getPublicId():String
134

135     /** Returns the expanded system identifier. */
136     public String JavaDoc getExpandedSystemId() {
137         return fExpandedSystemId;
138     } // getExpandedSystemId():String
139

140     /** Returns the literal system identifier. */
141     public String JavaDoc getLiteralSystemId() {
142         return fLiteralSystemId;
143     } // getLiteralSystemId():String
144

145     /** Returns the base system identifier. */
146     public String JavaDoc getBaseSystemId() {
147         return fBaseSystemId;
148     } // getBaseSystemId():String
149

150     /** Returns the line number. */
151     public int getLineNumber() {
152         return fLineNumber;
153     } // getLineNumber():int
154

155     /** Returns the row number. */
156     public int getColumnNumber() {
157         return fColumnNumber;
158     } // getRowNumber():int
159

160     //
161
// Object methods
162
//
163

164     /** Returns a string representation of this object. */
165     public String JavaDoc toString() {
166
167         StringBuffer JavaDoc str = new StringBuffer JavaDoc();
168         if (fPublicId != null) {
169             str.append(fPublicId);
170         }
171         str.append(':');
172         if (fPublicId != null) {
173             str.append(fPublicId);
174         }
175         str.append(':');
176         if (fLiteralSystemId != null) {
177             str.append(fLiteralSystemId);
178         }
179         str.append(':');
180         if (fExpandedSystemId != null) {
181             str.append(fExpandedSystemId);
182         }
183         str.append(':');
184         if (fBaseSystemId != null) {
185             str.append(fBaseSystemId);
186         }
187         str.append(':');
188         str.append(fLineNumber);
189         str.append(':');
190         str.append(fColumnNumber);
191         str.append(':');
192         String JavaDoc message = getMessage();
193         if (message == null) {
194             Exception JavaDoc exception = getException();
195             if (exception != null) {
196                 message = exception.getMessage();
197             }
198         }
199         if (message != null) {
200             str.append(message);
201         }
202         return str.toString();
203
204     } // toString():String
205

206 } // XMLParseException
207
Popular Tags