org.hibernate.exception
Class NestableDelegate
java.lang.Objectorg.hibernate.exception.NestableDelegate
- All Implemented Interfaces:
- java.io.Serializable
public class NestableDelegate
- extends java.lang.Object
- implements java.io.Serializable
- extends java.lang.Object
A shared implementation of the nestable exception functionality.
The code is shared betweenNestableError,
NestableException and
NestableRuntimeException.
- Since:
- 1.0
- See Also:
- Serialized Form
| 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, numbererd 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, numbererd 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 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. |
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 |
| Constructor Detail |
|---|
NestableDelegate
public NestableDelegate(Nestable nestable)
- Constructs a new
NestableDelegateinstance to manage the specifiedNestable.- Parameters:
nestable- the Nestable implementation (must extendThrowable)- Since:
- 2.0
| Method Detail |
|---|
getMessage
public java.lang.String getMessage(int index)
- Returns the error message of the
Throwablein the chain ofThrowables at the specified index, numbererd from 0.- Parameters:
index- the index of theThrowablein the chain ofThrowables- Returns:
- the error message, or null if the
Throwableat the specified index in the chain does not contain a message - Throws:
java.lang.IndexOutOfBoundsException- if theindexargument is negative or not less than the count ofThrowables in the chain- Since:
- 2.0
getMessage
public java.lang.String getMessage(java.lang.String baseMsg)
- Returns the full message contained by the
Nestableand any nestedThrowables.- Parameters:
baseMsg- the base message to use when creating the full message. Should be generally be called vianestableHelper.getMessage( super.getMessage() ), wheresuperis an instance ofThrowable.- Returns:
- The concatenated message for this and all 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. AnyThrowablenot 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 thegetThrowableCount()operation.- Returns:
- the error messages
- Since:
- 2.0
getThrowable
public java.lang.Throwable getThrowable(int index)
- Returns the
Throwablein the chain ofThrowables at the specified index, numbererd from 0.- Parameters:
index- the index, numbered from 0, of theThrowablein the chain ofThrowables- Returns:
- the
Throwable - Throws:
java.lang.IndexOutOfBoundsException- if theindexargument is negative or not less than the count ofThrowables in the chain- Since:
- 2.0
getThrowableCount
public int getThrowableCount()
- Returns the number of
Throwables contained in theNestablecontained by this delegate.- Returns:
- the throwable count
- Since:
- 2.0
getThrowables
public java.lang.Throwable[] getThrowables()
- Returns this delegate's
Nestableand any nestedThrowables in an array ofThrowables, one element for eachThrowable.- Returns:
- the
Throwables - Since:
- 2.0
indexOfThrowable
public int indexOfThrowable(java.lang.Class type,
int fromIndex)
- Returns the index, numbered from 0, of the first
Throwablethat matches the specified type in the chain ofThrowables held in this delegate'sNestablewith an index greater than or equal to the specified index, or -1 if the type is not found.- Parameters:
type-Classto be foundfromIndex- 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:
java.lang.IndexOutOfBoundsException- if thefromIndexargument is negative or not less than the count ofThrowables in the chain- 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.
- Parameters:
out-PrintStreamto 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. If the Throwable class has a
getCausemethod (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).- Parameters:
out-PrintWriterto use for output.
getStackFrames
protected java.lang.String[] getStackFrames(java.lang.Throwable t)
- Captures the stack trace associated with the specified
Throwableobject, decomposing it into a list of stack frames.- Parameters:
t- TheThrowable.- Returns:
- An array of strings describing each stack frame.
- 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.
- Parameters:
stacks- The list containing String[] elements- Since:
- 2.0
org.hibernate.exception.NestableDelegate