org.apache.commons.lang.exception

Interface Nestable

public interface Nestable

An interface to be implemented by {@link java.lang.Throwable} extensions which would like to be able to nest root exceptions inside themselves.

Since: 1.0

Version: $Id: Nestable.java 161243 2005-04-14 04:30:28Z ggregory $

Author: Daniel Rall Kasper Nielsen Steven Caswell Pete Gieser

Method Summary
ThrowablegetCause()
Returns the reference to the exception or error that caused the exception implementing the Nestable to be thrown.
StringgetMessage()
Returns the error message of this and any nested Throwable.
StringgetMessage(int index)
Returns the error message of the Throwable in the chain of Throwables at the specified index, numbered from 0.
String[]getMessages()
Returns the error message of this and any nested Throwables in an array of Strings, one element for each message.
ThrowablegetThrowable(int index)
Returns the Throwable in the chain of Throwables at the specified index, numbered from 0.
intgetThrowableCount()
Returns the number of nested Throwables represented by this Nestable, including this Nestable.
Throwable[]getThrowables()
Returns this Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.
intindexOfThrowable(Class type)
Returns the index, numbered from 0, of the first occurrence of the specified type, or a subclass, in the chain of Throwables.
intindexOfThrowable(Class type, int fromIndex)
Returns the index, numbered from 0, of the first Throwable that matches the specified type, or a subclass, in the chain of Throwables with an index greater than or equal to the specified index.
voidprintPartialStackTrace(PrintWriter out)
Prints the stack trace for this exception only--root cause not included--using the provided writer.
voidprintStackTrace(PrintWriter out)
Prints the stack trace of this exception to the specified print writer.
voidprintStackTrace(PrintStream out)
Prints the stack trace of this exception to the specified print stream.

Method Detail

getCause

public Throwable getCause()
Returns the reference to the exception or error that caused the exception implementing the Nestable to be thrown.

Returns: throwable that caused the original exception

getMessage

public String getMessage()
Returns the error message of this and any nested Throwable.

Returns: the error message

getMessage

public String getMessage(int index)
Returns the error message of the Throwable in the chain of Throwables at the specified index, numbered from 0.

Parameters: index the index of the Throwable in the chain of Throwables

Returns: the error message, or null if the Throwable at the specified index in the chain does not contain a message

Throws: IndexOutOfBoundsException if the index argument is negative or not less than the count of Throwables in the chain

getMessages

public String[] getMessages()
Returns the error message of this and any nested Throwables in an array of Strings, one element for each message. Any Throwable not containing a message is represented in the array by a null. This has the effect of cause the length of the returned array to be equal to the result of the {@link #getThrowableCount()} operation.

Returns: the error messages

getThrowable

public Throwable getThrowable(int index)
Returns the Throwable in the chain of Throwables at the specified index, numbered from 0.

Parameters: index the index, numbered from 0, of the Throwable in the chain of Throwables

Returns: the Throwable

Throws: IndexOutOfBoundsException if the index argument is negative or not less than the count of Throwables in the chain

getThrowableCount

public int getThrowableCount()
Returns the number of nested Throwables represented by this Nestable, including this Nestable.

Returns: the throwable count

getThrowables

public Throwable[] getThrowables()
Returns this Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.

Returns: the Throwables

indexOfThrowable

public int indexOfThrowable(Class type)
Returns the index, numbered from 0, of the first occurrence of the specified type, or a subclass, in the chain of Throwables. The method returns -1 if the specified type is not found in the chain.

NOTE: From v2.1, we have clarified the Nestable interface such that this method matches subclasses. If you want to NOT match subclasses, please use {@link ExceptionUtils#indexOfThrowable(Throwable, Class)} (which is avaiable in all versions of lang).

Parameters: type the type to find, subclasses match, null returns -1

Returns: index of the first occurrence of the type in the chain, or -1 if the type is not found

indexOfThrowable

public int indexOfThrowable(Class type, int fromIndex)
Returns the index, numbered from 0, of the first Throwable that matches the specified type, or a subclass, in the chain of Throwables with an index greater than or equal to the specified index. The method returns -1 if the specified type is not found in the chain.

NOTE: From v2.1, we have clarified the Nestable interface such that this method matches subclasses. If you want to NOT match subclasses, please use {@link ExceptionUtils#indexOfThrowable(Throwable, Class, int)} (which is avaiable in all versions of lang).

Parameters: type the type to find, subclasses match, null returns -1 fromIndex the index, numbered from 0, of the starting position in the chain to be searched

Returns: index of the first occurrence of the type in the chain, or -1 if the type is not found

Throws: IndexOutOfBoundsException if the fromIndex argument is negative or not less than the count of Throwables in the chain

printPartialStackTrace

public void printPartialStackTrace(PrintWriter out)
Prints the stack trace for this exception only--root cause not included--using the provided writer. Used by {@link org.apache.commons.lang.exception.NestableDelegate} to write individual stack traces to a buffer. The implementation of this method should call super.printStackTrace(out); in most cases.

Parameters: out The writer to use.

printStackTrace

public void printStackTrace(PrintWriter out)
Prints the stack trace of this exception to the specified print writer. Includes information from the exception, if any, which caused this exception.

Parameters: out PrintWriter to use for output.

printStackTrace

public void printStackTrace(PrintStream out)
Prints the stack trace of this exception to the specified print stream. Includes information from the exception, if any, which caused this exception.

Parameters: out PrintStream to use for output.

Copyright © 2001-2005 - Apache Software Foundation