01: /* $Id: RecoverableIOException.java 4530 2006-08-23 18:39:37Z stack-sf $
02: *
03: * Created on August 21st, 2006
04: *
05: * Copyright (C) 2006 Internet Archive.
06: *
07: * This file is part of the Heritrix web crawler (crawler.archive.org).
08: *
09: * Heritrix is free software; you can redistribute it and/or modify
10: * it under the terms of the GNU Lesser Public License as published by
11: * the Free Software Foundation; either version 2.1 of the License, or
12: * any later version.
13: *
14: * Heritrix is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17: * GNU Lesser Public License for more details.
18: *
19: * You should have received a copy of the GNU Lesser Public License
20: * along with Heritrix; if not, write to the Free Software
21: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22: */
23: package org.archive.io;
24:
25: import java.io.IOException;
26: import java.io.PrintStream;
27: import java.io.PrintWriter;
28:
29: /**
30: * A decorator on IOException for IOEs that are likely not fatal or at least
31: * merit retry.
32: * @author stack
33: * @version $Date: 2006-08-23 18:39:37 +0000 (Wed, 23 Aug 2006) $, $Revision: 4530 $
34: */
35: public class RecoverableIOException extends IOException {
36: private static final long serialVersionUID = 6194776587381865451L;
37: private final IOException decoratedIOException;
38:
39: public RecoverableIOException(final String message) {
40: this (new IOException(message));
41: }
42:
43: public RecoverableIOException(final IOException ioe) {
44: super ();
45: this .decoratedIOException = ioe;
46: }
47:
48: public Throwable getCause() {
49: return this .decoratedIOException.getCause();
50: }
51:
52: public String getLocalizedMessage() {
53: return this .decoratedIOException.getLocalizedMessage();
54: }
55:
56: public String getMessage() {
57: return this .decoratedIOException.getMessage();
58: }
59:
60: public StackTraceElement[] getStackTrace() {
61: return this .decoratedIOException.getStackTrace();
62: }
63:
64: public synchronized Throwable initCause(Throwable cause) {
65: return this .decoratedIOException.initCause(cause);
66: }
67:
68: public void printStackTrace() {
69: this .decoratedIOException.printStackTrace();
70: }
71:
72: public void printStackTrace(PrintStream s) {
73: this .decoratedIOException.printStackTrace(s);
74: }
75:
76: public void printStackTrace(PrintWriter s) {
77: this .decoratedIOException.printStackTrace(s);
78: }
79:
80: public void setStackTrace(StackTraceElement[] stackTrace) {
81: this .decoratedIOException.setStackTrace(stackTrace);
82: }
83:
84: public String toString() {
85: return this.decoratedIOException.toString();
86: }
87: }
|