KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > opencms > main > CmsRuntimeException


1 /*
2  * File : $Source: /usr/local/cvs/opencms/src/org/opencms/main/CmsRuntimeException.java,v $
3  * Date : $Date: 2005/07/03 09:41:52 $
4  * Version: $Revision: 1.8 $
5  *
6  * This library is part of OpenCms -
7  * the Open Source Content Mananagement System
8  *
9  * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com)
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public
13  * License as published by the Free Software Foundation; either
14  * version 2.1 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Lesser General Public License for more details.
20  *
21  * For further information about Alkacon Software GmbH, please see the
22  * company website: http://www.alkacon.com
23  *
24  * For further information about OpenCms, please see the
25  * project website: http://www.opencms.org
26  *
27  * You should have received a copy of the GNU Lesser General Public
28  * License along with this library; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */

31
32 package org.opencms.main;
33
34 import org.opencms.i18n.CmsMessageContainer;
35
36 import java.util.Locale JavaDoc;
37
38 /**
39  * A replacement for <code>{@link java.lang.RuntimeException}</code> to obtain fully
40  * localized exception messages for OpenCms.<p>
41  *
42  * @author Alexander Kandzior
43  *
44  * @version $Revision: 1.8 $
45  *
46  * @since 6.0.0
47  */

48 public class CmsRuntimeException extends RuntimeException JavaDoc implements I_CmsThrowable {
49
50     /** Serial version UID required for safe serialization. */
51     private static final long serialVersionUID = -7855345575622173787L;
52
53     /** The container for the localized message. */
54     protected CmsMessageContainer m_message;
55
56     /**
57      * Creates a new localized Exception.<p>
58      *
59      * @param message the localized message container to use
60      */

61     public CmsRuntimeException(CmsMessageContainer message) {
62
63         super(message.getKey());
64         m_message = message;
65     }
66
67     /**
68      * Creates a new localized Exception that also containes a root cause.<p>
69      *
70      * @param message the localized message container to use
71      * @param cause the Exception root cause
72      */

73     public CmsRuntimeException(CmsMessageContainer message, Throwable JavaDoc cause) {
74
75         super(message.getKey(), cause);
76         m_message = message;
77     }
78
79     /**
80      * Creates a copied instance of this localized exception.<p>
81      *
82      * @param container the message container
83      * @param cause the root cause
84      *
85      * @return a copied instance of this localized exception
86      */

87     public CmsRuntimeException createException(CmsMessageContainer container, Throwable JavaDoc cause) {
88
89         return new CmsRuntimeException(container, cause);
90     }
91
92     /**
93      * @see org.opencms.main.I_CmsThrowable#getLocalizedMessage()
94      */

95     public String JavaDoc getLocalizedMessage() {
96
97         return m_message.key();
98     }
99
100     /**
101      * @see org.opencms.main.I_CmsThrowable#getLocalizedMessage(Locale)
102      */

103     public String JavaDoc getLocalizedMessage(Locale JavaDoc locale) {
104
105         return m_message.key(locale);
106     }
107
108     /**
109      * @see java.lang.Throwable#getMessage()
110      */

111     public String JavaDoc getMessage() {
112
113         return getLocalizedMessage();
114     }
115
116     /**
117      * @see org.opencms.main.I_CmsThrowable#getMessageContainer()
118      */

119     public CmsMessageContainer getMessageContainer() {
120
121         return m_message;
122     }
123 }
124
Popular Tags