| /******************************************************************************* |
| * 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; |
| } |
| } |
| |
| |