01: /**
02: * The XMOJO Project 5
03: * Copyright © 2003 XMOJO.org. All rights reserved.
04:
05: * NO WARRANTY
06:
07: * BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
08: * THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
09: * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
10: * PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
11: * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
13: * TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
14: * LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
15: * REPAIR OR CORRECTION.
16:
17: * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
18: * ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
19: * THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
20: * GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
21: * USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
22: * DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
23: * PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE),
24: * EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
25: * SUCH DAMAGES.
26: **/package javax.management;
27:
28: /**
29: * This class represents runtime exceptions thrown in the agent when
30: * performing operations on MBeans. It wraps the actual
31: * <CODE>java.lang.RuntimeException</CODE> thrown.
32: */
33: public class RuntimeOperationsException extends JMRuntimeException {
34: /**
35: * The encapsulated RuntimeException
36: */
37: private RuntimeException runtimeException = null;
38:
39: /**
40: * Creates a <CODE>RuntimeOperationsException</CODE> that wraps the
41: * actual <CODE>java.lang.RuntimeException</CODE>.
42: *
43: * @param e RuntimeException to be wraped by RuntimeOperationsException
44: */
45: public RuntimeOperationsException(RuntimeException e) {
46: this .runtimeException = e;
47: }
48:
49: /**
50: * Creates a <CODE>RuntimeOperationsException</CODE> that wraps the
51: * actual <CODE>java.lang.RuntimeException</CODE> with a detailed message.
52: *
53: * @param e RuntimeException to be wraped by RuntimeOperationsException.
54: *
55: * @param message the detail message.
56: */
57: public RuntimeOperationsException(RuntimeException e, String message) {
58: super (message);
59: this .runtimeException = e;
60: }
61:
62: /**
63: * Returns the actual java.lang.RuntimeException thrown
64: *
65: * @return This returns RuntimeException thrown in this method
66: */
67: public RuntimeException getTargetException() {
68: return runtimeException;
69: }
70:
71: /**
72: * Overrides the method
73: */
74: public void printStackTrace() {
75: super .printStackTrace();
76:
77: if (runtimeException != null)
78: runtimeException.printStackTrace();
79: }
80:
81: /**
82: * Overrides the method
83: */
84: public String toString() {
85: if (runtimeException == null
86: || runtimeException.getMessage() == null)
87: return super .toString();
88:
89: return (super .toString() + "; nested exception is: " + runtimeException
90: .toString());
91: }
92: }//End of class RuntimeOperationsException
|