|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.lang.exception.NestableDelegate
A shared implementation of the nestable exception functionality.
The code is shared between
NestableError
,
NestableException
and
NestableRuntimeException
.
Field Summary | |
static boolean |
matchSubclasses
Whether to match subclasses via indexOf. |
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 | |
String |
getMessage(int index)
Returns the error message of the Throwable in the chain
of Throwable s at the specified index, numbered from 0. |
String |
getMessage(String baseMsg)
Returns the full message contained by the Nestable
and any nested Throwable s. |
String[] |
getMessages()
Returns the error message of this and any nested Throwable s
in an array of Strings, one element for each message. |
protected String[] |
getStackFrames(Throwable t)
Captures the stack trace associated with the specified Throwable object, decomposing it into a list of
stack frames. |
Throwable |
getThrowable(int index)
Returns the Throwable in the chain of
Throwable s at the specified index, numbered from 0. |
int |
getThrowableCount()
Returns the number of Throwable s contained in the
Nestable contained by this delegate. |
Throwable[] |
getThrowables()
Returns this delegate's Nestable and any nested
Throwable s in an array of Throwable s, one
element for each Throwable . |
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 Throwable s
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(PrintStream out)
Prints the stack trace of this exception to the specified stream. |
void |
printStackTrace(PrintWriter out)
Prints the stack trace of this exception to the specified writer. |
protected void |
trimStackFrames(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 |
public static boolean topDown
public static boolean trimStackFrames
public static boolean matchSubclasses
Constructor Detail |
public NestableDelegate(Nestable nestable)
NestableDelegate
instance to manage the
specified Nestable
.
nestable
- the Nestable implementation (must extend
Throwable
)Method Detail |
public String getMessage(int index)
Throwable
in the chain
of Throwable
s at the specified index, numbered from 0.
index
- the index of the Throwable
in the chain of
Throwable
s
Throwable
at the
specified index in the chain does not contain a message
IndexOutOfBoundsException
- if the index
argument is
negative or not less than the count of Throwable
s in the
chainpublic String getMessage(String baseMsg)
Nestable
and any nested Throwable
s.
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
.
Throwable
spublic String[] getMessages()
Throwable
s
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.
public Throwable getThrowable(int index)
Throwable
in the chain of
Throwable
s at the specified index, numbered from 0.
index
- the index, numbered from 0, of the Throwable
in
the chain of Throwable
s
Throwable
IndexOutOfBoundsException
- if the index
argument is
negative or not less than the count of Throwable
s in the
chainpublic int getThrowableCount()
Throwable
s contained in the
Nestable
contained by this delegate.
public Throwable[] getThrowables()
Nestable
and any nested
Throwable
s in an array of Throwable
s, one
element for each Throwable
.
Throwable
spublic int indexOfThrowable(Class type, int fromIndex)
Throwable
that matches the specified type, or a subclass, in the chain of Throwable
s
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)
(which is avaiable in all versions of lang).
An alternative is to use the public static flag matchSubclasses
on NestableDelegate
, however this is not recommended.
type
- the type to find, subclasses match, null returns -1fromIndex
- the index, numbered from 0, of the starting position in
the chain to be searched
IndexOutOfBoundsException
- if the fromIndex
argument
is negative or not less than the count of Throwable
s in the
chainpublic void printStackTrace()
public void printStackTrace(PrintStream out)
out
- PrintStream
to use for output.printStackTrace(PrintWriter)
public void printStackTrace(PrintWriter out)
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).
out
- PrintWriter
to use for output.protected String[] getStackFrames(Throwable t)
Throwable
object, decomposing it into a list of
stack frames.
t
- The Throwable
.
protected void trimStackFrames(List stacks)
stacks
- The list containing String[] elements
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |