/* * Copyright (c) 2004, Nate Nielsen * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * * Redistributions in binary form must reproduce the * above copyright notice, this list of conditions and * the following disclaimer in the documentation and/or * other materials provided with the distribution. * * The names of contributors to this software may not be * used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * * * CONTRIBUTORS * Nate Nielsen * */ package com.memberwebs.ldapxml; /** * Thrown when an error occurs during LX retrieval or * processing. * * @author nielsen@memberwebs.com * @version 1.0 */ public class LXException extends Exception { /** * Creates a new LXException object. * * @param message Error message. */ public LXException(String message) { super(message, null); } /** * Creates a new LXException object wrapping a current Exception. * * @param e The exception. */ public LXException(Exception e) { super(null, e); } /** * Creates a new WrappedException with a message and an * exception exception held internally. * * @param message The message to include. * @param e The internal exception. */ public LXException(String message, Exception e) { super(message); if(e != null) m_exception = e; } /** * Returns the error message of this exception if present, or * the internal exception. * * @return The message. */ public String getMessage() { String message = super.getMessage(); if(message == null && m_exception != null) message = m_exception.getMessage(); return message; } /** * Returns the internal exception, or this if not present. * * @return The exception. */ public Exception getException() { if(m_exception == null) return this; else return m_exception; } /** * Converts this object to a string. * * @return The string value. */ public String toString () { if(m_exception != null) return m_exception.toString(); else return super.toString(); } public StackTraceElement[] getStackTrace() { return getStackTrace(); } // The internal exception private Exception m_exception; }