001 /*
002 * $Id: ResourcesException.java 348357 2005-11-23 03:59:22Z niallp $
003 * $Revision: 348357 $
004 * $Date: 2005-11-23 03:59:22 +0000 (Wed, 23 Nov 2005) $
005 *
006 * ====================================================================
007 *
008 * Copyright 2003-2005 The Apache Software Foundation
009 *
010 * Licensed under the Apache License, Version 2.0 (the "License");
011 * you may not use this file except in compliance with the License.
012 * You may obtain a copy of the License at
013 *
014 * http://www.apache.org/licenses/LICENSE-2.0
015 *
016 * Unless required by applicable law or agreed to in writing, software
017 * distributed under the License is distributed on an "AS IS" BASIS,
018 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
019 * See the License for the specific language governing permissions and
020 * limitations under the License.
021 *
022 */
023
024 package org.apache.commons.resources;
025
026 import java.io.Serializable;
027
028 /**
029 * <p>This class is a general purpose wrapper exception for problems
030 * pertaining to Resources.</p>
031 */
032 public class ResourcesException extends RuntimeException implements Serializable {
033
034 /** Exception message */
035 private String message = "";
036
037 /** Cause of the exception */
038 private Throwable rootCause = null;
039
040 /**
041 * Construct an Exception with the specified message.
042 * @param message The message.
043 */
044 public ResourcesException(String message) {
045 this(message, null);
046 }
047
048 /**
049 * Construct an Exception with the specified cause.
050 * @param rootCause Cause of the exception.
051 */
052 public ResourcesException(Throwable rootCause) {
053 this.message = rootCause.getMessage();
054 this.rootCause = rootCause;
055 }
056
057 /**
058 * Construct an Exception with the specified message.
059 * and cause.
060 * @param message The message.
061 * @param rootCause Cause of the exception.
062 */
063 public ResourcesException(String message, Throwable rootCause) {
064 this.message = message;
065 this.rootCause = rootCause;
066 }
067
068 /**
069 * Return the message.
070 * @return The message.
071 */
072 public String getMessage() {
073 return message;
074 }
075
076 /**
077 * Return the cause.
078 * @return The cause of the Exception.
079 */
080 public Throwable getRootCause() {
081 return rootCause;
082 }
083 }