001: /*
002: * Copyright (c) 2001 - 2005 ivata limited.
003: * All rights reserved.
004: * -----------------------------------------------------------------------------
005: * ivata groupware may be redistributed under the GNU General Public
006: * License as published by the Free Software Foundation;
007: * version 2 of the License.
008: *
009: * These programs are free software; you can redistribute them and/or
010: * modify them under the terms of the GNU General Public License
011: * as published by the Free Software Foundation; version 2 of the License.
012: *
013: * These programs are distributed in the hope that they will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: *
017: * See the GNU General Public License in the file LICENSE.txt for more
018: * details.
019: *
020: * If you would like a copy of the GNU General Public License write to
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place - Suite 330
024: * Boston, MA 02111-1307, USA.
025: *
026: *
027: * To arrange commercial support and licensing, contact ivata at
028: * http://www.ivata.com/contact.jsp
029: * -----------------------------------------------------------------------------
030: * $Log: MessageNotFoundException.java,v $
031: * Revision 1.3 2005/09/14 16:16:52 colinmacleod
032: * Removed unused local and class variables.
033: * Added serialVersionUID.
034: *
035: * Revision 1.2 2005/04/09 17:20:01 colinmacleod
036: * Changed copyright text to GPL v2 explicitly.
037: *
038: * Revision 1.1.1.1 2005/03/10 17:51:17 colinmacleod
039: * Restructured ivata op around Hibernate/PicoContainer.
040: * Renamed ivata groupware.
041: *
042: * Revision 1.5 2004/11/12 15:57:25 colinmacleod
043: * Removed dependencies on SSLEXT.
044: * Moved Persistence classes to ivata masks.
045: *
046: * Revision 1.4 2004/07/13 19:48:12 colinmacleod
047: * Moved project to POJOs from EJBs.
048: * Applied PicoContainer to services layer (replacing session EJBs).
049: * Applied Hibernate to persistence layer (replacing entity EJBs).
050: *
051: * Revision 1.3 2004/03/21 21:16:39 colinmacleod
052: * Shortened name to ivata op.
053: *
054: * Revision 1.2 2004/02/01 22:07:32 colinmacleod
055: * Added full names to author tags
056: *
057: * Revision 1.1.1.1 2004/01/27 20:59:57 colinmacleod
058: * Moved ivata openportal to SourceForge..
059: *
060: * Revision 1.2 2003/10/15 14:11:33 colin
061: * fixing for XDoclet
062: *
063: * Revision 1.1 2003/02/24 19:09:24 colin
064: * moved to business
065: *
066: * Revision 1.3 2003/02/04 17:39:21 colin
067: * copyright notice
068: *
069: * Revision 1.2 2002/11/19 14:12:16 colin
070: * added 'additional information' constructor
071: *
072: * Revision 1.1 2002/11/12 09:11:28 colin
073: * added with restructuring of mail subsystem
074: * -----------------------------------------------------------------------------
075: */
076: package com.ivata.groupware.business.mail.message;
077:
078: import com.ivata.mask.util.SystemException;
079:
080: /**
081: * <p>Thrown by {@link com.ivata.groupware.business.mail.MailBean MailBean} if there is
082: * a requested mail cannot be located.</p>
083: *
084: * @since 2002-11-10
085: * @author Colin MacLeod
086: * <a href='mailto:colin.macleod@ivata.com'>colin.macleod@ivata.com</a>
087: * @version $Revision: 1.3 $
088: */
089: public class MessageNotFoundException extends SystemException {
090: /**
091: * Serialization version (for <code>Serializable</code> interface).
092: */
093: private static final long serialVersionUID = 1L;
094:
095: /**
096: * <p>Creates a new <code>MailNotFoundException</code> using the given
097: * details about the message which could not be found.</p>
098: *
099: * @param folderName the name of the folder where the message was being
100: * looked for.
101: * @param messageId the unique identifier of the message which could not be
102: * found.
103: */
104: public MessageNotFoundException(String folderName, String messageId) {
105: this (folderName, messageId, (Throwable) null);
106: }
107:
108: /**
109: * <p>Creates a new <code>MailNotFoundException</code> using the given
110: * details about the message which could not be found.</p>
111: *
112: * @param folderName the name of the folder where the message was being
113: * looked for.
114: * @param messageId the unique identifier of the message which could not be
115: * found.
116: * @param cause root exception which caused this to happen.
117: */
118: public MessageNotFoundException(String folderName,
119: String messageId, Throwable cause) {
120: super ("ERROR in Mail: no message with id '" + messageId
121: + "' in folder '" + folderName + "'.", cause);
122: }
123:
124: /**
125: * <p>Creates a new <code>MailNotFoundException</code> using the given
126: * details about the message which could not be found. This constructor
127: * provides extra information about a message which could not be located due
128: * to programming or configuration errors.</p>
129: *
130: * @param folderName the name of the folder where the message was being
131: * looked for.
132: * @param messageId the unique identifier of the message which could not be
133: * found.
134: * @param additionalInformation a clear message indicating an additional
135: * cause of the exception (such as "this folder does not exist").
136: */
137: public MessageNotFoundException(String folderName,
138: String messageId, String additionalInformation) {
139: this (folderName, messageId, additionalInformation, null);
140: }
141:
142: /**
143: * <p>Creates a new <code>MailNotFoundException</code> using the given
144: * details about the message which could not be found. This constructor
145: * provides extra information about a message which could not be located due
146: * to programming or configuration errors.</p>
147: *
148: * @param folderName the name of the folder where the message was being
149: * looked for.
150: * @param messageId the unique identifier of the message which could not be
151: * found.
152: * @param additionalInformation a clear message indicating an additional
153: * cause of the exception (such as "this folder does not exist").
154: */
155: public MessageNotFoundException(String folderName,
156: String messageId, String additionalInformation,
157: Throwable cause) {
158: super ("ERROR in Mail: could not retrieve message '" + messageId
159: + "' from folder '" + folderName + "': "
160: + additionalInformation + ".", cause);
161: }
162: }
|