Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.commons.lang.exception
Class NestableDelegate  view NestableDelegate download NestableDelegate.java

java.lang.Object
  extended byorg.apache.commons.lang.exception.NestableDelegate
All Implemented Interfaces:
java.io.Serializable

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

A shared implementation of the nestable exception functionality.

The code is shared between NestableError, NestableException and NestableRuntimeException.

Since:
1.0
Version:
$Id: NestableDelegate.java 161243 2005-04-14 04:30:28Z ggregory $

Field Summary
static boolean matchSubclasses
          Whether to match subclasses via indexOf.
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).
static boolean topDown
          Whether to print the stack trace top-down.
static boolean trimStackFrames
          Whether to trim the repeated stack trace.
 
Constructor Summary
NestableDelegate(Nestable nestable)
          Constructs a new NestableDelegate instance to manage the specified Nestable.
 
Method Summary
 java.lang.String getMessage(int index)
          Returns the error message of the Throwable in the chain of Throwables at the specified index, numbered from 0.
 java.lang.String getMessage(java.lang.String baseMsg)
          Returns the full message contained by the Nestable and any nested Throwables.
 java.lang.String[] getMessages()
          Returns the error message of this and any nested Throwables in an array of Strings, one element for each message.
protected  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.
 java.lang.Throwable getThrowable(int index)
          Returns the Throwable in the chain of Throwables at the specified index, numbered from 0.
 int getThrowableCount()
          Returns the number of Throwables contained in the Nestable contained by this delegate.
 java.lang.Throwable[] getThrowables()
          Returns this delegate's Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.
 int indexOfThrowable(java.lang.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.
 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.
protected  void trimStackFrames(java.util.List stacks)
          Trims the stack frames.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MUST_BE_THROWABLE

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

See Also:
Constant Field Values

nestable

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


topDown

public static boolean topDown
Whether to print the stack trace top-down. This public flag may be set by calling code, typically in initialisation. This exists for backwards compatability, setting it to false will return the library to v1.0 behaviour (but will affect all users of the library in the classloader).

Since:
2.0

trimStackFrames

public static boolean trimStackFrames
Whether to trim the repeated stack trace. This public flag may be set by calling code, typically in initialisation. This exists for backwards compatability, setting it to false will return the library to v1.0 behaviour (but will affect all users of the library in the classloader).

Since:
2.0

matchSubclasses

public static boolean matchSubclasses
Whether to match subclasses via indexOf. This public flag may be set by calling code, typically in initialisation. This exists for backwards compatability, setting it to false will return the library to v2.0 behaviour (but will affect all users of the library in the classloader).

Since:
2.1
Constructor Detail

NestableDelegate

public NestableDelegate(Nestable nestable)
Constructs a new NestableDelegate instance to manage the specified Nestable.

Since:
2.0
Method Detail

getMessage

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

Since:
2.0

getMessage

public java.lang.String getMessage(java.lang.String baseMsg)
Returns the full message contained by the Nestable and any nested Throwables.

Since:
2.0

getMessages

public 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() 55 operation.

Since:
2.0

getThrowable

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

Since:
2.0

getThrowableCount

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

Since:
2.0

getThrowables

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

Since:
2.0

indexOfThrowable

public int indexOfThrowable(java.lang.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 ExceptionUtils.indexOfThrowable(Throwable, Class, int) 55 (which is avaiable in all versions of lang). An alternative is to use the public static flag matchSubclasses 55 on NestableDelegate, however this is not recommended.

Since:
2.0

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.


printStackTrace

public void printStackTrace(java.io.PrintWriter out)
Prints the stack trace of this exception to the specified writer. If the Throwable class has a getCause method (i.e. running on jre1.4 or higher), this method just uses Throwable's printStackTrace() method. Otherwise, generates the stack-trace, by taking into account the 'topDown' and 'trimStackFrames' parameters. The topDown and trimStackFrames are set to 'true' by default (produces jre1.4-like stack trace).


getStackFrames

protected 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.

Since:
2.0

trimStackFrames

protected void trimStackFrames(java.util.List stacks)
Trims the stack frames. The first set is left untouched. The rest of the frames are truncated from the bottom by comparing with one just on top.

Since:
2.0