org.apache.commons.lang.exception
Class NestableDelegate

java.lang.Object
  |
  +--org.apache.commons.lang.exception.NestableDelegate
All Implemented Interfaces:
java.io.Serializable

public class NestableDelegate
extends java.lang.Object
implements java.io.Serializable

Version:
$Id: NestableDelegate.java,v 1.9.2.1 2002/11/22 20:11:30 bayard Exp $
Author:
Rafal Krzewski, Daniel Rall, Kasper Nielsen, Steven Caswell, Sean C. Sullivan
See Also:
Serialized Form

Field Summary
private static java.lang.String MUST_BE_THROWABLE
          Constructor error message.
private  java.lang.Throwable nestable
          Holds the reference to the exception or error that we're wrapping (which must be a Nestable implementation).
 
Constructor Summary
(package private) NestableDelegate(Nestable nestable)
          Constructs a new NestableDelegate instance to manage the specified Nestable.
 
Method Summary
(package private)  java.lang.String getMessage(int index)
          Returns the error message of the Throwable in the chain of Throwables at the specified index, numbererd from 0.
(package private)  java.lang.String getMessage(java.lang.String baseMsg)
          Returns the full message contained by the Nestable and any nested Throwables.
(package private)  java.lang.String[] getMessages()
          Returns the error message of this and any nested Throwables in an array of Strings, one element for each message.
private  java.lang.String[] getStackFrames(java.lang.Throwable t)
          Captures the stack trace associated with the specified Throwable object, decomposing it into a list of stack frames.
(package private)  java.lang.Throwable getThrowable(int index)
          Returns the Throwable in the chain of Throwables at the specified index, numbererd from 0.
(package private)  int getThrowableCount()
          Returns the number of Throwables contained in the Nestable contained by this delegate.
(package private)  java.lang.Throwable[] getThrowables()
          Returns this delegate's Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.
(package private)  int indexOfThrowable(java.lang.Class type, int fromIndex)
          Returns the index, numbered from 0, of the first Throwable that matches the specified type in the chain of Throwables held in this delegate's Nestable with an index greater than or equal to the specified index, or -1 if the type is not found.
 void printStackTrace()
          Prints the stack trace of this exception the the standar error stream.
 void printStackTrace(java.io.PrintStream out)
          Prints the stack trace of this exception to the specified stream.
 void printStackTrace(java.io.PrintWriter out)
          Prints the stack trace of this exception to the specified writer.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

MUST_BE_THROWABLE

private static final transient java.lang.String MUST_BE_THROWABLE
Constructor error message.

nestable

private java.lang.Throwable nestable
Holds the reference to the exception or error that we're wrapping (which must be a Nestable implementation).
Constructor Detail

NestableDelegate

NestableDelegate(Nestable nestable)
Constructs a new NestableDelegate instance to manage the specified Nestable.
Parameters:
nestable - the Nestable implementation (must extend Throwable)
Method Detail

getMessage

java.lang.String getMessage(int index)
Returns the error message of the Throwable in the chain of Throwables at the specified index, numbererd 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

getMessage

java.lang.String getMessage(java.lang.String baseMsg)
Returns the full message contained by the Nestable and any nested Throwables.
Parameters:
baseMsg - the base message to use when creating the full message. Should be generally be called via nestableHelper.getMessage(super.getMessage()), where super is an instance of Throwable.
Returns:
The concatenated message for this and all nested Throwables

getMessages

java.lang.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 getThrowableCount() operation.
Returns:
the error messages

getThrowable

java.lang.Throwable getThrowable(int index)
Returns the Throwable in the chain of Throwables at the specified index, numbererd 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

int getThrowableCount()
Returns the number of Throwables contained in the Nestable contained by this delegate.
Returns:
the throwable count

getThrowables

java.lang.Throwable[] getThrowables()
Returns this delegate's Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.
Returns:
the Throwables

indexOfThrowable

int indexOfThrowable(java.lang.Class type,
                     int fromIndex)
Returns the index, numbered from 0, of the first Throwable that matches the specified type in the chain of Throwables held in this delegate's Nestable with an index greater than or equal to the specified index, or -1 if the type is not found.
Parameters:
type - Class to be found
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

printStackTrace

public void printStackTrace()
Prints the stack trace of this exception the the standar error stream.

printStackTrace

public void printStackTrace(java.io.PrintStream out)
Prints the stack trace of this exception to the specified stream.
Parameters:
out - PrintStream to use for output.
See Also:
printStackTrace(PrintWriter)

printStackTrace

public void printStackTrace(java.io.PrintWriter out)
Prints the stack trace of this exception to the specified writer.
Parameters:
out - PrintWriter to use for output.

getStackFrames

private java.lang.String[] getStackFrames(java.lang.Throwable t)
Captures the stack trace associated with the specified Throwable object, decomposing it into a list of stack frames.
Parameters:
t - The Throwable.
Returns:
An array of strings describing each stack frame.


Copyright (c) 2001-2002 - Apache Software Foundation