package org.lttpp.eemory.dom; @SuppressWarnings("serial") public class FactoryConfigurationError extends Error { /** * <code>Exception</code> that represents the error. */ private final Exception exception; /** * Create a new <code>FactoryConfigurationError</code> with no detail * mesage. */ public FactoryConfigurationError() { super(); exception = null; } /** * Create a new <code>FactoryConfigurationError</code> with the * <code>String </code> specified as an error message. * * @param msg * The error message for the exception. */ public FactoryConfigurationError(final String msg) { super(msg); exception = null; } /** * Create a new <code>FactoryConfigurationError</code> with a given * <code>Exception</code> base cause of the error. * * @param e * The exception to be encapsulated in a * FactoryConfigurationError. */ public FactoryConfigurationError(final Exception e) { super(e.toString()); exception = e; } /** * Create a new <code>FactoryConfigurationError</code> with the given * <code>Exception</code> base cause and detail message. * * @param e * The exception to be encapsulated in a * FactoryConfigurationError * @param msg * The detail message. */ public FactoryConfigurationError(final Exception e, final String msg) { super(msg); exception = e; } /** * Return the message (if any) for this error . If there is no message for * the exception and there is an encapsulated exception then the message of * that exception, if it exists will be returned. Else the name of the * encapsulated exception will be returned. * * @return The error message. */ @Override public String getMessage() { String message = super.getMessage(); if (message == null && exception != null) { return exception.getMessage(); } return message; } /** * Return the actual exception (if any) that caused this exception to be * raised. * * @return The encapsulated exception, or null if there is none. */ public Exception getException() { return exception; } /** * use the exception chaining mechanism of JDK1.4 */ @Override public Throwable getCause() { return exception; } }