001: /*
002: * This file is part of the WfMOpen project.
003: * Copyright (C) 2001-2003 Danet GmbH (www.danet.de), GS-AN.
004: * All rights reserved.
005: *
006: * This program is free software; you can redistribute it and/or modify
007: * it under the terms of the GNU General Public License as published by
008: * the Free Software Foundation; either version 2 of the License, or
009: * (at your option) any later version.
010: *
011: * This program is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014: * GNU General Public License for more details.
015: *
016: * You should have received a copy of the GNU General Public License
017: * along with this program; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: *
020: * $Id: ParsingException.java,v 1.2 2006/09/29 12:32:11 drmlipp Exp $
021: *
022: * $Log: ParsingException.java,v $
023: * Revision 1.2 2006/09/29 12:32:11 drmlipp
024: * Consistently using WfMOpen as projct name now.
025: *
026: * Revision 1.1.1.1 2003/06/30 20:05:12 drmlipp
027: * Initial import
028: *
029: * Revision 1.5 2003/06/27 08:51:46 lipp
030: * Fixed copyright/license information.
031: *
032: * Revision 1.4 2003/04/25 14:50:59 lipp
033: * Fixed javadoc errors and warnings.
034: *
035: * Revision 1.3 2003/04/24 20:50:13 lipp
036: * Fixed some warnings.
037: *
038: * Revision 1.2 2002/02/05 10:11:42 lipp
039: * New constructor.
040: *
041: * Revision 1.1 2002/02/01 14:30:36 lipp
042: * Added error handling for process definition parsing.
043: *
044: */
045: package de.danet.an.util.sax;
046:
047: import java.util.List;
048: import java.util.ArrayList;
049:
050: /**
051: * This class represents an exception that results from collected parsing
052: * errors.
053: */
054: public class ParsingException extends Exception implements
055: java.io.Serializable {
056:
057: private List warnings = new ArrayList();
058: private List errors = new ArrayList();
059: private List fatals = new ArrayList();
060: private List messages = new ArrayList();
061:
062: /**
063: * Construct a <code>ParsingException</code> from a collecting error
064: * handler. The warnings, errors, fatal error of the Exception are
065: * taken from the error handler.
066: * @param msg the main message of the exception.
067: * @param errorHandler the error handler.
068: */
069: public ParsingException(String msg,
070: CollectingErrorHandler errorHandler) {
071: super (msg);
072: warnings = errorHandler.getWarnings();
073: errors = errorHandler.getErrors();
074: fatals = errorHandler.getFatalErrors();
075: messages = errorHandler.getMessages();
076: }
077:
078: /**
079: * Construct a <code>ParsingException</code> from given lists of
080: * warnings, errors and fatal errors.
081: * @param msg the main message of the exception.
082: * @param warningMsgs the warning messages (or <code>null</code>).
083: * @param errorMsgs the error messages (or <code>null</code>).
084: * @param fatalMsgs the fatal error messages (or <code>null</code>).
085: */
086: public ParsingException(String msg, List warningMsgs,
087: List errorMsgs, List fatalMsgs) {
088: super (msg);
089: warnings = warningMsgs;
090: if (warnings == null) {
091: warnings = new ArrayList();
092: }
093: errors = errorMsgs;
094: if (errors == null) {
095: errors = new ArrayList();
096: }
097: fatals = fatalMsgs;
098: if (fatals == null) {
099: fatals = new ArrayList();
100: }
101: messages = new ArrayList();
102: messages.addAll(warnings);
103: messages.addAll(errors);
104: messages.addAll(fatals);
105: }
106:
107: /**
108: * Return all warnings. The value returned is a list of
109: * {@link java.lang.String strings}.
110: * @return list with warning messages (may be an empty list).
111: */
112: public List getWarnings() {
113: return warnings;
114: }
115:
116: /**
117: * Return all errors. The value returned is a list of
118: * {@link java.lang.String strings}.
119: * @return list with error messages (may be an empty list).
120: */
121: public List getErrors() {
122: return errors;
123: }
124:
125: /**
126: * Return all fatal errors. The value returned is a list of
127: * {@link java.lang.String strings}.
128: * @return list with fatal error messages (may be an empty list).
129: */
130: public List getFatalErrors() {
131: return fatals;
132: }
133:
134: /**
135: * Return all messages, i.e. warnings, errors and fatal
136: * errors. The value returned is a list of {@link java.lang.String
137: * strings}.
138: * @return list with error messages (may be an empty list).
139: */
140: public List getMessages() {
141: return messages;
142: }
143:
144: }
|