001: /*
002: License $Id: ParserException.java,v 1.6 2003/09/13 04:59:56 hendriks73 Exp $
003:
004: Copyright (c) 2001-2005 tagtraum industries.
005:
006: LGPL
007: ====
008:
009: jo! is free software; you can redistribute it and/or
010: modify it under the terms of the GNU Lesser General Public
011: License as published by the Free Software Foundation; either
012: version 2.1 of the License, or (at your option) any later version.
013:
014: jo! is distributed in the hope that it will be useful,
015: but WITHOUT ANY WARRANTY; without even the implied warranty of
016: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: Lesser General Public License for more details.
018:
019: You should have received a copy of the GNU Lesser General Public
020: License along with this library; if not, write to the Free Software
021: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
022:
023: For LGPL see <http://www.fsf.org/copyleft/lesser.txt>
024:
025:
026: Sun license
027: ===========
028:
029: This release contains software by Sun Microsystems. Therefore
030: the following conditions have to be met, too. They apply to the
031: files
032:
033: - lib/mail.jar
034: - lib/activation.jar
035: - lib/jsse.jar
036: - lib/jcert.jar
037: - lib/jaxp.jar
038: - lib/crimson.jar
039: - lib/servlet.jar
040: - lib/jnet.jar
041: - lib/jaas.jar
042: - lib/jaasmod.jar
043:
044: contained in this release.
045:
046: a. Licensee may not modify the Java Platform
047: Interface (JPI, identified as classes contained within the javax
048: package or any subpackages of the javax package), by creating additional
049: classes within the JPI or otherwise causing the addition to or modification
050: of the classes in the JPI. In the event that Licensee creates any
051: Java-related API and distribute such API to others for applet or
052: application development, you must promptly publish broadly, an accurate
053: specification for such API for free use by all developers of Java-based
054: software.
055:
056: b. Software is confidential copyrighted information of Sun and
057: title to all copies is retained by Sun and/or its licensors. Licensee
058: shall not modify, decompile, disassemble, decrypt, extract, or otherwise
059: reverse engineer Software. Software may not be leased, assigned, or
060: sublicensed, in whole or in part. Software is not designed or intended
061: for use in on-line control of aircraft, air traffic, aircraft navigation
062: or aircraft communications; or in the design, construction, operation or
063: maintenance of any nuclear facility. Licensee warrants that it will not
064: use or redistribute the Software for such purposes.
065:
066: c. Software is provided "AS IS," without a warranty
067: of any kind. ALL EXPRESS OR IMPLIED REPRESENTATIONS AND WARRANTIES,
068: INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
069: PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
070:
071: d. This License is effective until terminated. Licensee may
072: terminate this License at any time by destroying all copies of Software.
073: This License will terminate immediately without notice from Sun if Licensee
074: fails to comply with any provision of this License. Upon such termination,
075: Licensee must destroy all copies of Software.
076:
077: e. Software, including technical data, is subject to U.S.
078: export control laws, including the U.S. Export Administration Act and its
079: associated regulations, and may be subject to export or import regulations
080: in other countries. Licensee agrees to comply strictly with all such
081: regulations and acknowledges that it has the responsibility to obtain
082: licenses to export, re-export, or import Software. Software may not be
083: downloaded, or otherwise exported or re-exported (i) into, or to a national
084: or resident of, Cuba, Iraq, Iran, North Korea, Libya, Sudan, Syria or any
085: country to which the U.S. has embargoed goods; or (ii) to anyone on the
086: U.S. Treasury Department's list of Specially Designated Nations or the U.S.
087: Commerce Department's Table of Denial Orders.
088:
089:
090: Feedback
091: ========
092:
093: We encourage your feedback and suggestions and want to use your feedback to
094: improve the Software. Send all such feedback to:
095: <feedback@tagtraum.com>
096:
097: For more information on tagtraum industries and jo!
098: please see <http://www.tagtraum.com/>.
099:
100:
101: */
102: package com.tagtraum.framework.markup;
103:
104: import com.tagtraum.framework.util.I_TagtraumException;
105: import com.tagtraum.framework.util.FileLocation;
106:
107: import java.io.IOException;
108:
109: /**
110: * General Parser-Exception.
111: *
112: * @author <a href="mailto:hs@tagtraum.com">Hendrik Schreiber</a>
113: * @version 1.1beta1 $Id: ParserException.java,v 1.6 2003/09/13 04:59:56 hendriks73 Exp $
114: */
115: public class ParserException extends IOException implements
116: I_TagtraumException {
117:
118: /**
119: * Source-Version
120: */
121: public static String vcid = "$Id: ParserException.java,v 1.6 2003/09/13 04:59:56 hendriks73 Exp $";
122:
123: /**
124: * Nested Exception.
125: */
126: protected Throwable myThrowable;
127:
128: private FileLocation location;
129:
130: /**
131: * ParserException with error message.
132: *
133: * @param msg error message
134: */
135: public ParserException(String msg) {
136: super (msg);
137: }
138:
139: /**
140: * ParserException.
141: */
142: public ParserException() {
143: super ();
144: }
145:
146: public FileLocation getLocation() {
147: return location;
148: }
149:
150: public void setLocation(FileLocation location) {
151: this .location = location;
152: }
153:
154: /**
155: * ParserException with nested <code>Throwable</code>.
156: *
157: * @param aThrowable a nested <code>Throwable</code>
158: * @see #getThrowable()
159: */
160: public ParserException(Throwable aThrowable) {
161: myThrowable = aThrowable;
162: }
163:
164: /**
165: * ParserException with nested <code>Throwable</code> and error message.
166: *
167: * @param aMessage an error message
168: * @param aThrowable a nested <code>Throwable</code>
169: * @see #getMessage()
170: * @see #getThrowable()
171: */
172: public ParserException(String aMessage, Throwable aThrowable) {
173: this (aMessage);
174:
175: myThrowable = aThrowable;
176: }
177:
178: /**
179: * Sets the nested <code>Throwable</code> of this <code>TagtraumException</code>.
180: *
181: * @param aThrowable the nested <code>Throwable</code>
182: */
183: public void setThrowable(Throwable aThrowable) {
184: myThrowable = aThrowable;
185: }
186:
187: /**
188: * Returns the nested <code>Throwable</code>.
189: */
190: public Throwable getThrowable() {
191: return myThrowable;
192: }
193:
194: public String getMessage() {
195: return toString();
196: }
197:
198: /**
199: * Returns a String representation of this exception.
200: */
201: public String toString() {
202: StringBuffer sb = new StringBuffer();
203: if (location != null) {
204: sb.append(location.toString());
205: sb.append(": ");
206: }
207: sb.append(super .getMessage());
208: if (myThrowable != null) {
209: sb.append(System.getProperty("line.separator"));
210: sb.append(myThrowable.toString());
211: }
212: return sb.toString();
213: }
214:
215: }
|