| /******************************************************************************* |
| * Copyright (c) 2001, 2004 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 |
| * Jens Lukowski/Innoopract - initial renaming/restructuring |
| * |
| *******************************************************************************/ |
| package org.eclipse.wst.sse.core.exceptions; |
| |
| import org.eclipse.wst.sse.core.internal.SSECorePlugin; |
| |
| /** |
| * The SourceEditingException is often thrown by Source Editor methods in |
| * order to have a predictable, uniform interface to the Source Editing APIs. |
| * If the OriginalException is not null, then it must be examined to determine |
| * the true cause of the exception. |
| */ |
| public class SourceEditingException extends Exception { |
| |
| /** |
| * Comment for <code>serialVersionUID</code> |
| */ |
| private static final long serialVersionUID = 1L; |
| private Throwable originalException; |
| |
| public SourceEditingException() { |
| super(); |
| } |
| |
| public SourceEditingException(String s) { |
| super(s); |
| } |
| |
| /** |
| * This form of the constructor is used to wrapper another exception. |
| */ |
| public SourceEditingException(Throwable t) { |
| super(); |
| originalException = t; |
| } |
| |
| /** |
| * This form of the constructor is used to wrapper another exception, but |
| * still provide a new descriptive message. |
| */ |
| public SourceEditingException(Throwable t, String s) { |
| super(s); |
| originalException = t; |
| } |
| |
| /** |
| * The message depends on if this is a case that has an embedded |
| * exception. |
| */ |
| public String getMessage() { |
| String result = null; |
| if (originalException != null) { |
| result = originalException.getMessage(); |
| } else { |
| result = super.getMessage(); |
| } |
| return result; |
| } |
| |
| public Throwable getOriginalException() { |
| return originalException; |
| } |
| |
| public String toString() { |
| // we don't put super.toString to "hide" that it was a |
| // sourceEditing exception |
| String s = null; //super.toString(); |
| String originalError = SSECorePlugin.getResourceString("%Original_Error__UI_"); //$NON-NLS-1$ = "Original Error:" |
| |
| if (originalException != null) { |
| s = originalError + " " + originalException.toString(); //$NON-NLS-1$ |
| } |
| return s; |
| } |
| } |