001: /* Copyright (C) 2003 Internet Archive.
002: *
003: * This file is part of the Heritrix web crawler (crawler.archive.org).
004: *
005: * Heritrix is free software; you can redistribute it and/or modify
006: * it under the terms of the GNU Lesser Public License as published by
007: * the Free Software Foundation; either version 2.1 of the License, or
008: * any later version.
009: *
010: * Heritrix is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013: * GNU Lesser Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser Public License
016: * along with Heritrix; if not, write to the Free Software
017: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
018: *
019: * Created on Jul 29, 2003
020: *
021: */
022: package org.archive.crawler.framework.exceptions;
023:
024: import org.archive.crawler.framework.exceptions.InitializationException;
025:
026: /** ConfigurationExceptions should be thrown when a configuration file
027: * is missing data, or contains uninterpretable data, at runtime. Fatal
028: * errors (that should cause the program to exit) should be thrown as
029: * FatalConfigurationExceptions.
030: *
031: * You may optionally note the
032: *
033: * @author Parker Thompson
034: *
035: */
036: public class ConfigurationException extends InitializationException {
037:
038: private static final long serialVersionUID = -9078913414698851380L;
039:
040: // optionally store the file name and element so the catcher
041: // can report the information and/or take other actions based on it
042: protected String file = null;
043: protected String element = null;
044:
045: /**
046: * default constructor
047: */
048: public ConfigurationException() {
049: super ();
050: }
051:
052: /** Create a ConfigurationException
053: * @param message
054: */
055: public ConfigurationException(String message) {
056: super (message);
057: }
058:
059: /**
060: * @param message
061: * @param cause
062: */
063: public ConfigurationException(String message, Throwable cause) {
064: super (message, cause);
065: // TODO Auto-generated constructor stub
066: }
067:
068: /** Create a ConfigurationException
069: * @param cause
070: */
071: public ConfigurationException(Throwable cause) {
072: super (cause);
073: }
074:
075: /** Create ConfigurationException
076: * @param message
077: * @param filename
078: * @param elementname
079: */
080: public ConfigurationException(String message, String filename,
081: String elementname) {
082: super (message);
083: file = filename;
084: element = elementname;
085: }
086:
087: /** Create ConfigurationException
088: * @param message
089: * @param cause
090: * @param filename
091: * @param elementname
092: */
093: public ConfigurationException(String message, Throwable cause,
094: String filename, String elementname) {
095: super (message, cause);
096: file = filename;
097: element = elementname;
098: }
099:
100: /** Create ConfigurationException
101: * @param cause
102: * @param filename
103: * @param elementname
104: */
105: public ConfigurationException(Throwable cause, String filename,
106: String elementname) {
107: super (cause);
108: file = filename;
109: element = elementname;
110: }
111:
112: /** Store the name of the configuration file that was being parsed
113: * when this exception occured.
114: * @param name
115: */
116: public void setFile(String name) {
117: file = name;
118: }
119:
120: /**
121: * @return name of configuration file being parsed when this exception occurred
122: */
123: public String getFile() {
124: return file;
125: }
126:
127: /** Set the name of the element that was being parsed
128: * when this exception occured.
129: * @param target
130: */
131: public void setElement(String target) {
132: element = target;
133: }
134:
135: /**
136: * @return name of the element being parsed when this exception occurred
137: */
138: public String getElement() {
139: return element;
140: }
141:
142: }
|