KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > gulden > framework > amoda > generic > interaction > GenericErrorMessage


1 /*
2  * Project: AMODA - Abstract Modeled Application
3  * Class: de.gulden.framework.amoda.generic.interaction.GenericErrorMessage
4  * Version: snapshot-beautyj-1.1
5  *
6  * Date: 2004-09-29
7  *
8  * This is a snapshot version of the AMODA 0.2 development branch,
9  * it is not released as a seperate version.
10  * For AMODA, see http://amoda.berlios.de/.
11  *
12  * This is licensed under the GNU Lesser General Public License (LGPL)
13  * and comes with NO WARRANTY.
14  *
15  * Author: Jens Gulden
16  * Email: amoda@jensgulden.de
17  */

18
19 package de.gulden.framework.amoda.generic.interaction;
20
21 import de.gulden.framework.amoda.generic.option.*;
22 import de.gulden.framework.amoda.model.interaction.ErrorMessage;
23 import java.lang.*;
24 import java.util.*;
25
26 /**
27  * Class GenericErrorMessage.
28  *
29  * @author Jens Gulden
30  * @version snapshot-beautyj-1.1
31  */

32 public class GenericErrorMessage extends GenericLogMessage implements ErrorMessage {
33
34     // ------------------------------------------------------------------------
35
// --- fields ---
36
// ------------------------------------------------------------------------
37

38     public boolean exit;
39
40     protected volatile Throwable JavaDoc cause;
41
42
43     // ------------------------------------------------------------------------
44
// --- constructor ---
45
// ------------------------------------------------------------------------
46

47     public GenericErrorMessage() {
48         setType(ERROR_MESSAGE);
49     }
50
51
52     // ------------------------------------------------------------------------
53
// --- methods ---
54
// ------------------------------------------------------------------------
55

56     public void perform() {
57         ((de.gulden.framework.amoda.generic.core.GenericApplicationEnvironment)getApplication().getEnvironment()).doErrorMessage(this);
58     }
59
60     public Throwable JavaDoc getCause() {
61         return cause;
62     }
63
64     public void setCause(Throwable JavaDoc _cause) {
65         cause = _cause;
66     }
67
68     public boolean exitApplication() {
69         return exit;
70     }
71
72     public void setExitApplication(boolean _exit) {
73         exit = _exit;
74     }
75
76     public String JavaDoc toString() {
77         String JavaDoc s="";
78         if (getText()!=null) {
79             s+=getText();
80         }
81         if (getCause()!=null) {
82             s+=getCause().getClass().getName()+": "+getCause().getMessage()+"\n";
83             java.io.StringWriter JavaDoc sw=new java.io.StringWriter JavaDoc();
84             getCause().printStackTrace(new java.io.PrintWriter JavaDoc(sw));
85             s+=sw.toString()+"\n";
86             if (getCause() instanceof de.gulden.util.xml.XMLException) {
87                 Throwable JavaDoc wrapped=((de.gulden.util.xml.XMLException)getCause()).getWrappedThrowable();
88                 if (wrapped!=null) {
89                     s+="*** WRAPPED EXCEPTION ***\n";
90                     s+=wrapped.getClass().getName()+": "+wrapped.getMessage()+"\n";
91                     sw=new java.io.StringWriter JavaDoc();
92                     wrapped.printStackTrace(new java.io.PrintWriter JavaDoc(sw));
93                     s+=sw.toString()+"\n";
94                 }
95             }
96         }
97         if (s.equals("")) {
98             s="Unknown Error";
99         }
100         return s;
101     }
102
103 } // end GenericErrorMessage
104
Popular Tags