01: /**
02: * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
03: * All rights reserved.
04: * Use is subject to license terms.
05: */package javax.portlet;
06:
07: /**
08: * The <CODE>PortletModeException</CODE> is thrown when a portlet
09: * tries to use or set a portlet mode that is not supported by the current
10: * runtime environment or the portlet.
11: */
12:
13: public class PortletModeException extends PortletException {
14:
15: private transient PortletMode _mode = null;
16:
17: /**
18: * Constructs a new portlet mode exception with the given text and the
19: * portlet mode that caused this exception. The
20: * portlet container may use the text and portlet mode write it to a log.
21: *
22: * @param text the exception text
23: * @param mode the mode causing the exception
24: */
25:
26: public PortletModeException(String text, PortletMode mode) {
27: super (text);
28: _mode = mode;
29: }
30:
31: /**
32: * Constructs a new portlet mode exception when the portlet needs to do
33: * the following:
34: * <ul>
35: * <il>throw an exception
36: * <li>include a message about the "root cause" that interfered
37: * with its normal operation
38: * <li>include a description message
39: * <li>include the portlet mode that caused this exception
40: * </ul>
41: *
42: * @param text the exception text
43: * @param cause the root cause
44: * @param mode the mode causing the exception
45: */
46:
47: public PortletModeException(String text, Throwable cause,
48: PortletMode mode) {
49: super (text, cause);
50: _mode = mode;
51: }
52:
53: /**
54: * Constructs a new portlet mode exception when the portlet needs to throw an
55: * exception. The exception message is based on the localized message
56: * of the underlying exception and the portlet mode that caused this exception.
57: *
58: * @param cause the root cause
59: * @param mode the mode causing the exception
60: */
61:
62: public PortletModeException(Throwable cause, PortletMode mode) {
63: super (cause);
64: _mode = mode;
65: }
66:
67: /**
68: * Returns the unsupported portlet mode causing this exception.
69: *
70: * @return the portlet mode that caused this exception
71: */
72:
73: public PortletMode getMode() {
74: return _mode;
75: }
76: }
|