annotate dwtx/core/runtime/Status.d @ 3:6518c18a01f7

eclipse.core package without osgi dependencies
author Frank Benoit <benoit@tionex.de>
date Wed, 26 Mar 2008 00:57:19 +0100
parents
children ea8ff534f622
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2000, 2006 IBM Corporation and others.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwtx.core.runtime.Status;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import dwtx.core.internal.runtime.IRuntimeConstants;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 import dwtx.core.internal.runtime.LocalizationUtils;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 import dwtx.core.runtime.IStatus;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import dwtx.core.runtime.Assert;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.dwthelper.utils;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import tango.text.convert.Format;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 * A concrete status implementation, suitable either for
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 * instantiating or subclassing.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 * <p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 * This class can be used without OSGi running.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 * </p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 public class Status : IStatus {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 * A standard OK status with an "ok" message.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * @since 3.0
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 public static const IStatus OK_STATUS;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 * A standard CANCEL status with no message.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 * @since 3.0
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 public static const IStatus CANCEL_STATUS;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 static this(){
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 OK_STATUS = new Status(OK, IRuntimeConstants.PI_RUNTIME, OK, LocalizationUtils.safeLocalize("ok"), null); //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 CANCEL_STATUS = new Status(CANCEL, IRuntimeConstants.PI_RUNTIME, 1, "", null); //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 * The severity. One of
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 * <ul>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 * <li><code>CANCEL</code></li>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 * <li><code>ERROR</code></li>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 * <li><code>WARNING</code></li>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 * <li><code>INFO</code></li>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 * <li>or <code>OK</code> (0)</li>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 * </ul>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 private int severity = OK;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 /** Unique identifier of plug-in.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 private String pluginId;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 /** Plug-in-specific status code.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 private int code;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 /** Message, localized to the current locale.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 private String message;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 /** Wrapped exception, or <code>null</code> if none.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 private Exception exception = null;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 /** Constant to avoid generating garbage.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 private static const IStatus[] theEmptyStatusArray = null;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 * Creates a new status object. The created status has no children.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 * @param pluginId the unique identifier of the relevant plug-in
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 * @param code the plug-in-specific status code, or <code>OK</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 * @param message a human-readable message, localized to the
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 * current locale
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 * @param exception a low-level exception, or <code>null</code> if not
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 * applicable
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 public this(int severity, String pluginId, int code, String message, Exception exception) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 setSeverity(severity);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 setPlugin(pluginId);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 setCode(code);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 setMessage(message);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 setException(exception);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 * Simplified constructor of a new status object; assumes that code is <code>OK</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 * The created status has no children.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 * @param pluginId the unique identifier of the relevant plug-in
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 * @param message a human-readable message, localized to the
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 * current locale
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 * @param exception a low-level exception, or <code>null</code> if not
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 * applicable
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 * @since dwtx.equinox.common 3.3
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 public this(int severity, String pluginId, String message, Exception exception) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 setSeverity(severity);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 setPlugin(pluginId);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 setMessage(message);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 setException(exception);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 setCode(OK);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 * Simplified constructor of a new status object; assumes that code is <code>OK</code> and
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 * exception is <code>null</code>. The created status has no children.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 * @param pluginId the unique identifier of the relevant plug-in
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 * @param message a human-readable message, localized to the
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 * current locale
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 * @since dwtx.equinox.common 3.3
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 public this(int severity, String pluginId, String message) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 setSeverity(severity);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 setPlugin(pluginId);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 setMessage(message);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 setCode(OK);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 setException(null);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 public IStatus[] getChildren() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 return theEmptyStatusArray;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 public int getCode() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 return code;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 public Exception getException() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 return exception;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 public String getMessage() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 return message;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 public String getPlugin() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 return pluginId;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 public int getSeverity() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 return severity;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 public bool isMultiStatus() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 return false;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 public bool isOK() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 return severity is OK;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 /* (Intentionally not javadoc'd)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 * Implements the corresponding method on <code>IStatus</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 public bool matches(int severityMask) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 return (severity & severityMask) !is 0;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 * Sets the status code.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 * @param code the plug-in-specific status code, or <code>OK</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212 protected void setCode(int code) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 this.code = code;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 * Sets the exception.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 * @param exception a low-level exception, or <code>null</code> if not
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 * applicable
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222 protected void setException(Exception exception) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 this.exception = exception;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227 * Sets the message. If null is passed, message is set to an empty
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 * string.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 * @param message a human-readable message, localized to the
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 * current locale
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 protected void setMessage(String message) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 if (message is null)
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 this.message = ""; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 else
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 this.message = message;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241 * Sets the plug-in id.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 * @param pluginId the unique identifier of the relevant plug-in
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 protected void setPlugin(String pluginId) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 Assert.isLegal(pluginId !is null && pluginId.length > 0);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 this.pluginId = pluginId;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 * Sets the severity.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253 * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256 protected void setSeverity(int severity) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257 Assert.isLegal(severity is OK || severity is ERROR || severity is WARNING || severity is INFO || severity is CANCEL);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 this.severity = severity;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 * Returns a string representation of the status, suitable
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263 * for debugging purposes only.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 public String toString() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 String sev;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 if (severity is OK) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268 sev="OK"; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
269 } else if (severity is ERROR) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270 sev="ERROR"; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271 } else if (severity is WARNING) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 sev="WARNING"; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273 } else if (severity is INFO) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 sev="INFO"; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 } else if (severity is CANCEL) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 sev="CANCEL"; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 } else {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 sev=Format( "severity={}", severity);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280 return Format("Status {}: {} code={} {} {}", sev, pluginId, code, message, exception.toString );
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
281 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
282 }