
org.enhydra.error.ChainedThrowable Maven / Gradle / Ivy
/*
* Enhydra Java Application Server Project
*
* The contents of this file are subject to the Enhydra Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License on
* the Enhydra web site ( http://www.enhydra.org/ ).
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific terms governing rights and limitations
* under the License.
*
* The Initial Developer of the Enhydra Application Server is Lutris
* Technologies, Inc. The Enhydra Application Server and portions created
* by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
* All Rights Reserved.
*
* Contributor(s):
*
* $Id: ChainedThrowable.java,v 1.1.1.1 2003/03/10 16:36:15 taweili Exp $
*/
package org.enhydra.error;
import java.io.PrintStream;
import java.io.PrintWriter;
/**
* Interface base for all of the Chained*
classes. The chain
* throwables provide a linked list of throw objects, providing a complex
* description of an error, with information from each layer handling the
* error. This paradigm also allows for conversion from one error type to
* another without losing information.
*
* Classes are provided that server as a base of implementing chained
* throwable classes. When it is necessary to extend an existing throwable
* class that is not chained, say to conform to an interface, and one wants to
* also also add ChainedThrowable support, this interface is implemented. The
* static methods in {@link ChainedThrowableSupport ChainedExceptionSupport}
* are used to implemented the required ChainedThrowable methods in such
* classes.
*
* @see ChainedError
* @see ChainedException
* @see ChainedRuntimeException
* @see ChainedThrowableSupport
*/
public interface ChainedThrowable {
/**
* Return the message associated with this exception. If causes
* are included, they will be appended to the message.
*/
public String getMessage();
/**
* Creates a localized description of this Throwable.
*/
public String getLocalizedMessage();
/**
* Get the causing exception associated with this exception.
* @return The causing exception or null if no cause is specified.
*/
public Throwable getCause();
/**
* Prints this ChainedException and its backtrace, and the causes
* and their stack traces to the standard error stream.
*/
public void printStackTrace();
/**
* Prints this ChainedException and its backtrace, and the causes
* and their stack traces to the e specified print stream.
*/
public void printStackTrace(PrintStream s);
/**
* Prints this ChainedException and its backtrace, and the causes
* and their stack traces to the e specified print writer.
*/
public void printStackTrace(PrintWriter s);
}