blob: 0f3a1ad7452453ea1066ed87ecadfb8474f34beb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.j2ee.internal;
public class WrappedRuntimeException extends RuntimeException implements IWrappedException {
/**
*
*/
private static final long serialVersionUID = -8926753082721271021L;
/** The exception which necessitated this runtime exception, if one exists */
protected Exception nestedException;
public WrappedRuntimeException() {
super();
}
public WrappedRuntimeException(Exception e) {
super();
setNestedException(e);
}
public WrappedRuntimeException(String s) {
super(s);
}
public WrappedRuntimeException(String s, Exception e) {
super(s);
setNestedException(e);
}
/**
* Return the messages from this and all nested exceptions, in order from outermost to innermost
*/
public java.lang.String[] getAllMessages() {
return ExceptionHelper.getAllMessages(this);
}
/**
* Return the messages from this and all nested exceptions, in order from outermost to innermost,
* concatenated as one
*/
public java.lang.String getConcatenatedMessages() {
return ExceptionHelper.getConcatenatedMessages(this);
}
/**
* @return java.lang.Exception
*/
public java.lang.Exception getNestedException() {
return nestedException;
}
/**
* Added to provide compatibility for the Java 1.4.2 addition of
* <code>Throwable.getCause()</code>.
* @return The nested exception held by the receiver.
*/
public java.lang.Throwable getCause() {
return getNestedException();
}
/**
* Print out a stack trace to the system err.
*/
public void printStackTrace() {
printStackTrace(System.err);
}
/**
* Prints the exception to System.err.
* If we have a nested exception, print its stack.
*/
public void printStackTrace(java.io.PrintStream s) {
if (nestedException != null) {
s.println(this);
s.println(MOFJ2EEResourceHandler.Stack_trace_of_nested_exce); // = "Stack trace of nested exception:"
nestedException.printStackTrace(s);
} else {
super.printStackTrace(s);
}
}
/**
* Prints the exception to System.err.
* If we have a nested exception, print its stack.
*/
public void printStackTrace(java.io.PrintWriter s) {
if (nestedException != null) {
s.println(this);
s.println(MOFJ2EEResourceHandler.Stack_trace_of_nested_exce); // = "Stack trace of nested exception:"
nestedException.printStackTrace(s);
} else {
super.printStackTrace(s);
}
}
/**
* @param newNestedException java.lang.Exception
*/
public void setNestedException(java.lang.Exception newNestedException) {
nestedException = newNestedException;
}
}