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 exceptions thrown in the MBeanServer when using the
30: * java.lang.reflect classes to invoke methods on MBeans. It "wraps" the actual
31: * java.lang.Exception thrown.
32: */
33: public class ReflectionException extends JMException {
34: /**
35: * The wrapped Exception
36: */
37: private Exception exception = null;
38:
39: /**
40: * Creates a <CODE>ReflectionException</CODE> that wraps the actual
41: * <CODE>java.lang.Exception</CODE>.
42: *
43: * @param e Exception to be wraped by ReflectionException
44: */
45: public ReflectionException(Exception e) {
46: super ();
47: this .exception = e;
48: }
49:
50: /**
51: * Creates a <CODE>ReflectionException</CODE> that wraps the actual
52: * <CODE>java.lang.Exception</CODE> with a detail message.
53: *
54: * @param e Exception to be wraped by ReflectionException
55: *
56: * @param msg Detail message
57: */
58: public ReflectionException(Exception e, String msg) {
59: super (msg);
60: exception = e;
61: }
62:
63: /**
64: *Returns the actual java.lang.Exception thrown
65: * @return This returns the actual java.lang.Exception thrown
66: */
67: public java.lang.Exception getTargetException() {
68: return exception;
69: }
70:
71: /**
72: * Overrides the printStackTrace method in java.lang.Throwable
73: */
74: public void printStackTrace() {
75: super .printStackTrace();
76:
77: if (exception != null)
78: exception.printStackTrace();
79: }
80:
81: /**
82: * Overrides the toString method in java.lang.Object
83: */
84: public String toString() {
85: if (exception == null || exception.getMessage() == null)
86: return super .toString();
87:
88: return (super .toString() + "; nested exception is : " + exception
89: .toString());
90: }
91: }//End of class ReflectionException
|