Fix hover functionality.
[phpeclipse.git] / net.sourceforge.phpeclipse.ui / src / net / sourceforge / phpeclipse / ui / StatusInfo.java
1 package net.sourceforge.phpeclipse.ui;
2
3 /**********************************************************************
4  Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
5  This file is made available under the terms of the Common Public License v1.0
6  which accompanies this distribution, and is available at
7  http://www.eclipse.org/legal/cpl-v10.html
8  **********************************************************************/
9
10 //incastrix
11 //import net.sourceforge.phpdt.externaltools.model.IExternalToolConstants;
12
13 import org.eclipse.core.runtime.IStatus;
14 //incastrix
15 //import org.eclipse.jface.text.Assert;
16 import org.eclipse.core.runtime.Assert;
17
18 /**
19  * A settable IStatus. Can be an error, warning, info or ok. For error, info and
20  * warning states, a message describes the problem.
21  */
22 public class StatusInfo implements IStatus {
23
24         private String fStatusMessage;
25
26         private int fSeverity;
27
28         /**
29          * Creates a status set to OK (no message)
30          */
31         public StatusInfo() {
32                 this(OK, null);
33         }
34
35         /**
36          * Creates a status .
37          * 
38          * @param severity
39          *            The status severity: ERROR, WARNING, INFO and OK.
40          * @param message
41          *            The message of the status. Applies only for ERROR, WARNING and
42          *            INFO.
43          */
44         public StatusInfo(int severity, String message) {
45                 fStatusMessage = message;
46                 fSeverity = severity;
47         }
48
49         /**
50          * Returns if the status' severity is OK.
51          */
52         public boolean isOK() {
53                 return fSeverity == IStatus.OK;
54         }
55
56         /**
57          * Returns if the status' severity is WARNING.
58          */
59         public boolean isWarning() {
60                 return fSeverity == IStatus.WARNING;
61         }
62
63         /**
64          * Returns if the status' severity is INFO.
65          */
66         public boolean isInfo() {
67                 return fSeverity == IStatus.INFO;
68         }
69
70         /**
71          * Returns if the status' severity is ERROR.
72          */
73         public boolean isError() {
74                 return fSeverity == IStatus.ERROR;
75         }
76
77         /**
78          * @see IStatus#getMessage
79          */
80         public String getMessage() {
81                 return fStatusMessage;
82         }
83
84         /**
85          * Sets the status to ERROR.
86          * 
87          * @param The
88          *            error message (can be empty, but not null)
89          */
90         public void setError(String errorMessage) {
91                 Assert.isNotNull(errorMessage);
92                 fStatusMessage = errorMessage;
93                 fSeverity = IStatus.ERROR;
94         }
95
96         /**
97          * Sets the status to WARNING.
98          * 
99          * @param The
100          *            warning message (can be empty, but not null)
101          */
102         public void setWarning(String warningMessage) {
103                 Assert.isNotNull(warningMessage);
104                 fStatusMessage = warningMessage;
105                 fSeverity = IStatus.WARNING;
106         }
107
108         /**
109          * Sets the status to INFO.
110          * 
111          * @param The
112          *            info message (can be empty, but not null)
113          */
114         public void setInfo(String infoMessage) {
115                 Assert.isNotNull(infoMessage);
116                 fStatusMessage = infoMessage;
117                 fSeverity = IStatus.INFO;
118         }
119
120         /**
121          * Sets the status to OK.
122          */
123         public void setOK() {
124                 fStatusMessage = null;
125                 fSeverity = IStatus.OK;
126         }
127
128         /*
129          * @see IStatus#matches(int)
130          */
131         public boolean matches(int severityMask) {
132                 return (fSeverity & severityMask) != 0;
133         }
134
135         /**
136          * Returns always <code>false</code>.
137          * 
138          * @see IStatus#isMultiStatus()
139          */
140         public boolean isMultiStatus() {
141                 return false;
142         }
143
144         /*
145          * @see IStatus#getSeverity()
146          */
147         public int getSeverity() {
148                 return fSeverity;
149         }
150
151         /*
152          * @see IStatus#getPlugin()
153          */
154         public String getPlugin() {
155                 return WebUI.PLUGIN_ID/* IExternalToolConstants.PLUGIN_ID*/;
156         }
157
158         /**
159          * Returns always <code>null</code>.
160          * 
161          * @see IStatus#getException()
162          */
163         public Throwable getException() {
164                 return null;
165         }
166
167         /**
168          * Returns always the error severity.
169          * 
170          * @see IStatus#getCode()
171          */
172         public int getCode() {
173                 return fSeverity;
174         }
175
176         /**
177          * Returns always <code>null</code>.
178          * 
179          * @see IStatus#getChildren()
180          */
181         public IStatus[] getChildren() {
182                 return new IStatus[0];
183         }
184
185 }