package at.gv.egiz.pdfas.api.exceptions; /** * @author Thomas Knall */ public class ConfigUtilsException extends Exception { /** * Marker for serialization. */ private static final long serialVersionUID = 1L; /** * The underlying exception. */ private Exception wrappedException; /** * Returns the underlying exception. * * @return The underlying exception. */ public Exception getException() { return this.wrappedException; } /** * Returns the message of the wrapped exception. * * @return The message of the wrapped exception. */ public String getMessage() { String message = super.getMessage(); if (message == null && this.wrappedException != null) { return this.wrappedException.getMessage(); } else { return message; } } /** * Instantiation of a new exception based on a message and another (wrapped) * exception. * * @param message * The exception message. * @param exception * Another exception. */ public ConfigUtilsException(final String message, final Exception exception) { super(message); this.wrappedException = exception; } /** * Instantiated a new exception based on a message. * * @param message * The message of the new exception. */ public ConfigUtilsException(final String message) { super(message); this.wrappedException = null; } /** * Instantiates a new exception based on another (wrapped) exception. * * @param exception * The wrapped exception. */ public ConfigUtilsException(final Exception exception) { super(); this.wrappedException = exception; } /** * Instantiates a new (unspecified) exception. */ public ConfigUtilsException() { super(); this.wrappedException = null; } /** * Returns the text representation of this instance. * * @return The text representation of this instance. */ public String toString() { if (this.wrappedException != null) { return this.wrappedException.toString(); } else { return super.toString(); } } }