1 /*
2 * Copyright 2004-2008 the Seasar Foundation and the Others.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
15 */
16 package org.seasar.uruma.core;
17
18 import org.eclipse.jface.action.IMenuManager;
19 import org.eclipse.jface.action.IStatusLineManager;
20 import org.eclipse.jface.viewers.IContentProvider;
21 import org.eclipse.jface.viewers.ILabelProvider;
22 import org.eclipse.jface.viewers.ViewerComparator;
23 import org.eclipse.jface.window.Window;
24 import org.eclipse.swt.widgets.Shell;
25 import org.seasar.uruma.component.Template;
26 import org.seasar.uruma.context.ApplicationContext;
27 import org.seasar.uruma.context.WindowContext;
28 import org.seasar.uruma.rcp.UrumaService;
29
30 /**
31 * Uruma で利用する定数を保持するインターフェースです。</br>
32 *
33 * @author y-komori
34 */
35 public interface UrumaConstants {
36 /**
37 * 空文字列を表す定数です。<br />
38 * <dl>
39 * <dt><b>値 :</b></dt>
40 * <dd>{@value}</dd>
41 * </dl>
42 */
43 public static final String NULL_STRING = "";
44
45 /**
46 * 半角スペースを表す定数です。<br />
47 * <dl>
48 * <dt><b>値 :</b></dt>
49 * <dd>{@value}</dd>
50 * </dl>
51 */
52 public static final String WHITE_SPACE = " ";
53
54 /**
55 * スラッシュ (/) を表す定数です。<br />
56 * <dl>
57 * <dt><b>値 :</b></dt>
58 * <dd>{@value}</dd>
59 * </dl>
60 */
61 public static final String SLASH = "/";
62
63 /**
64 * アットマーク (@) を表す定数です。<br />
65 * <dl>
66 * <dt><b>値 :</b></dt>
67 * <dd>{@value}</dd>
68 * </dl>
69 */
70 public static final String AT_MARK = "@";
71
72 /**
73 * ピリオド (.) を表す定数です。<br />
74 * <dl>
75 * <dt><b>値 :</b></dt>
76 * <dd>{@value}</dd>
77 * </dl>
78 */
79 public static final String PERIOD = ".";
80
81 /**
82 * コンマ (,) を表す定数です。<br />
83 * <dl>
84 * <dt><b>値 :</b></dt>
85 * <dd>{@value}</dd>
86 * </dl>
87 */
88 public static final String COMMA = ",";
89
90 /**
91 * エクスクラメーションマーク (!) を表す定数です。<br />
92 * <dl>
93 * <dt><b>値 :</b></dt>
94 * <dd>{@value}</dd>
95 * </dl>
96 */
97 public static final String EXCLAMATION_MARK = "!";
98
99 /**
100 * ハッシュマーク (#) を表す定数です。<br />
101 * <dl>
102 * <dt><b>値 :</b></dt>
103 * <dd>{@value}</dd>
104 * </dl>
105 */
106 public static final String HASH_MARK = "#";
107
108 /**
109 * コロン (:) を表す定数です。<br />
110 * <dl>
111 * <dt><b>値 :</b></dt>
112 * <dd>{@value}</dd>
113 * </dl>
114 */
115 public static final String COLON = ":";
116
117 /**
118 * アンパサンド (&) を表す定数です。<br />
119 * <dl>
120 * <dt><b>値 :</b></dt>
121 * <dd>{@value}</dd>
122 * </dl>
123 */
124 public static final String AMPERSAND = "&";
125
126 /**
127 * Uruma が内部で使用するコンポーネントを定義した dicon ファイルのパスです。<br />
128 * <dl>
129 * <dt><b>値 :</b></dt>
130 * <dd>{@value}</dd>
131 * </dl>
132 */
133 public static final String URUMA_DICON_PATH = "uruma.dicon";
134
135 /**
136 * デフォルトのイメージバンドル名称です。<br />
137 * <dl>
138 * <dt><b>値 :</b></dt>
139 * <dd>{@value}</dd>
140 * </dl>
141 */
142 public static final String DEFAULT_IMAGE_BUNDLE_PATH = "urumaImages";
143
144 /**
145 * ユーザアプリケーションが使用するメッセージリソースバンドル名称です。<br />
146 * <dl>
147 * <dt><b>値 :</b></dt>
148 * <dd>{@value}</dd>
149 * </dl>
150 */
151 public static final String USER_MESSAGE_BASE = "urumaMessages";
152
153 /**
154 * Uruma が使用するメッセージリソースバンドル名称です。<br />
155 * <dl>
156 * <dt><b>値 :</b></dt>
157 * <dd>{@value}</dd>
158 * </dl>
159 */
160 public static final String URUMA_MESSAGE_BASE = "urumaCoreMessages";
161
162 /**
163 * 画面定義XMLのスキーマファイルパスです。
164 * <dl>
165 * <dt><b>値 :</b></dt>
166 * <dd>{@value}</dd>
167 * </dl>
168 */
169 public static final String SCHEMA_PATH = "org/seasar/uruma/component/factory/uruma.xsd";
170
171 /**
172 * Uruma コンポーネントディスクリプタのスキーマファイルパスです。
173 * <dl>
174 * <dt><b>値 :</b></dt>
175 * <dd>{@value}</dd>
176 * </dl>
177 */
178 public static final String COMPONENT_DESC_SCHEMA_PATH = "org/seasar/uruma/component/factory/urumaComponent.xsd";
179
180 // -------------------------------------------------------------------------
181 // プロトコル名称
182 // -------------------------------------------------------------------------
183 /**
184 * jar プロトコルの名称です。<br />
185 * <dl>
186 * <dt><b>値 :</b></dt>
187 * <dd>{@value}</dd>
188 * </dl>
189 */
190 public static final String PROTCOL_JAR = "jar";
191
192 /**
193 * file プロトコルの名称です。<br />
194 * <dl>
195 * <dt><b>値 :</b></dt>
196 * <dd>{@value}</dd>
197 * </dl>
198 */
199 public static final String PROTCOL_FILE = "file";
200
201 // -------------------------------------------------------------------------
202 // 命名規約
203 // -------------------------------------------------------------------------
204 /**
205 * パートアクションクラスのサフィックスです。<br />
206 * <dl>
207 * <dt><b>値 :</b></dt>
208 * <dd>{@value}</dd>
209 * </dl>
210 */
211 public static final String PART_ACTION_SUFFIX = "Action";
212
213 /**
214 * フォームクラスのサフィックスです。<br />
215 * <dl>
216 * <dt><b>値 :</b></dt>
217 * <dd>{@value}</dd>
218 * </dl>
219 */
220 public static final String FORM_SUFFIX = "Form";
221
222 /**
223 * {@link ILabelProvider} の S2Container 上でのコンポーネント名称サフィックスです。<br />
224 * <dl>
225 * <dt><b>値 :</b></dt>
226 * <dd>{@value}</dd>
227 * </dl>
228 */
229 public static final String LABEL_PROVIDER_SUFFIX = "LabelProvider";
230
231 /**
232 * {@link IContentProvider} の S2Container 上でのコンポーネント名称サフィックスです。<br />
233 * <dl>
234 * <dt><b>値 :</b></dt>
235 * <dd>{@value}</dd>
236 * </dl>
237 */
238 public static final String CONTENT_PROVIDER_SUFFIX = "ContentProvider";
239
240 /**
241 * {@link ViewerComparator} の S2Container 上でのコンポーネント名称サフィックスです。<br />
242 * <dl>
243 * <dt><b>値 :</b></dt>
244 * <dd>{@value}</dd>
245 * </dl>
246 */
247 public static final String SORTER_SUFFIX = "Sorter";
248
249 // -------------------------------------------------------------------------
250 // コンテキストへ登録されるID
251 // -------------------------------------------------------------------------
252
253 /**
254 * 自ウィンドウの {@link Shell} オブジェクトが登録されるIDです。
255 * <dl>
256 * <dt><b>値 :</b></dt>
257 * <dd>{@value}</dd>
258 * </dl>
259 */
260 public static final String SHELL_CID = "shell";
261
262 /**
263 * 自ウィンドウの {@link Window} オブジェクトが登録されるIDです。
264 * <dl>
265 * <dt><b>値 :</b></dt>
266 * <dd>{@value}</dd>
267 * </dl>
268 */
269 public static final String WINDOW_CID = "window";
270
271 /**
272 * メニューバー用の {@link IMenuManager} が登録される ID です。
273 * <dl>
274 * <dt><b>値 :</b></dt>
275 * <dd>{@value}</dd>
276 * </dl>
277 */
278 public static final String MENU_BAR_MANAGER_CID = "menuBarManager";
279
280 /**
281 * {@link IStatusLineManager} が登録される ID です。
282 * <dl>
283 * <dt><b>値 :</b></dt>
284 * <dd>{@value}</dd>
285 * </dl>
286 */
287 public static final String STATUS_LINE_MANAGER_CID = "statusLineManager";
288
289 // -------------------------------------------------------------------------
290 // RCP関連機能
291 // -------------------------------------------------------------------------
292 /**
293 * Uruma Core バンドルのデバッグオプションを表すプロパティです。<br /> 本プロパティを <code>true</code>
294 * に設定すると、OSGi Framework Extension として動作する部分のデバッグメッセージを表示します。
295 *
296 * <dl>
297 * <dt><b>値 :</b></dt>
298 * <dd>{@value}</dd>
299 * </dl>
300 */
301 public static final String URUMA_EXTENSION_DEBUG = "org.seasar.uruma.extension.debug";
302
303 /**
304 * Uruma アプリケーションのデフォルトログ設定ファイル名(properties形式)です。<br />
305 *
306 * <dl>
307 * <dt><b>値 :</b></dt>
308 * <dd>{@value}</dd>
309 * </dl>
310 */
311 public static final String DEFAULT_LOG_PROPERTIES = "log4j.properties";
312
313 /**
314 * Uruma アプリケーションのデフォルトログ設定ファイル名(xml形式)です。<br />
315 *
316 * <dl>
317 * <dt><b>値 :</b></dt>
318 * <dd>{@value}</dd>
319 * </dl>
320 */
321 public static final String DEFAULT_LOG_XML = "log4j.xml";
322
323 /**
324 * Uruma Core バンドルのシンボリックネームです。<br />
325 * <dl>
326 * <dt><b>値 :</b></dt>
327 * <dd>{@value}</dd>
328 * </dl>
329 */
330 public static final String URUMA_BUNDLE_SYMBOLIC_NAME = "org.seasar.uruma";
331
332 /**
333 * Uruma が内部で使用するコンポーネントを定義した dicon ファイルのパスです。<br />
334 * <dl>
335 * <dt><b>値 :</b></dt>
336 * <dd>{@value}</dd>
337 * </dl>
338 */
339 public static final String URUMA_RCP_DICON_PATH = "urumaRcp.dicon";
340
341 /**
342 * {@link UrumaService} 登録時のコンポーネント名称です。
343 * <dl>
344 * <dt><b>値 :</b></dt>
345 * <dd>{@value}</dd>
346 * </dl>
347 */
348 public static final String URUMA_SERVICE_S2NAME = "urumaService";
349
350 /**
351 * ワークベンチに関する画面定義を記述した XML のデフォルトパスです。
352 * <dl>
353 * <dt><b>値 :</b></dt>
354 * <dd>{@value}</dd>
355 * </dl>
356 */
357 public static final String DEFAULT_WORKBENCH_XML = "workbench.xml";
358
359 /**
360 * RCP 環境における画面定義 XML のデフォルト格納先パス({@link #DEFAULT_WORKBENCH_XML} からの相対パス)です。
361 * <dl>
362 * <dt><b>値 :</b></dt>
363 * <dd>{@value}</dd>
364 * </dl>
365 */
366 public static final String DEFAULT_VIEWS_PATH = "views";
367
368 /**
369 * ワークベンチの {@link Template} を {@link ApplicationContext} へ登録する際の名称です。
370 * <dl>
371 * <dt><b>値 :</b></dt>
372 * <dd>{@value}</dd>
373 * </dl>
374 */
375 public static final String WORKBENCH_TEMPLATE_NAME = "workbenchTemplate";
376
377 /**
378 * ワークベンチウィンドウに対応する {@link WindowContext} の名称です。
379 * <dl>
380 * <dt><b>値 :</b></dt>
381 * <dd>{@value}</dd>
382 * </dl>
383 */
384 public static final String WORKBENCH_WINDOW_CONTEXT_ID = "workbenchWindow";
385
386 /**
387 * <code>workbench</code> 要素で <code>initWidth</code> 属性が未指定の場合のデフォルト値です。
388 * <dl>
389 * <dt><b>値 :</b></dt>
390 * <dd>{@value}</dd>
391 * </dl>
392 */
393 public static final String DEFAULT_WORKBENCH_WIDTH = "30%";
394
395 /**
396 * <code>workbench</code> 要素で <code>initHeight</code> 属性が未指定の場合のデフォルト値です。
397 * <dl>
398 * <dt><b>値 :</b></dt>
399 * <dd>{@value}</dd>
400 * </dl>
401 */
402 public static final String DEFAULT_WORKBENCH_HEIGHT = "30%";
403
404 /**
405 * <code>workbench</code> 要素で <code>initialPerspectiveId</code>
406 * が未指定のときのデフォルトパースペクティブ ID です。<br />
407 * <dl>
408 * <dt><b>値 :</b></dt>
409 * <dd>{@value}</dd>
410 * </dl>
411 */
412 public static final String DEFAULT_PERSPECTIVE_ID = "defaultPerspective";
413
414 /**
415 * <code>menu</code> 要素で id が未指定のときに自動的に設定される id のプレフィックスです。<br />
416 * <dl>
417 * <dt><b>値 :</b></dt>
418 * <dd>{@value}</dd>
419 * </dl>
420 */
421 public static final String AUTO_MENU_ID_PREFIX = "autoDefinedMenu_";
422
423 /**
424 * <code>menuItem</code> 要素で id が未指定のときに自動的に設定される id のプレフィックスです。<br />
425 * <dl>
426 * <dt><b>値 :</b></dt>
427 * <dd>{@value}</dd>
428 * </dl>
429 */
430 public static final String AUTO_ACTION_ID_PREFIX = "autoDefinedAction_";
431
432 /**
433 * Uruma アプリケーションが使用するキーコンフィグレーション(スキーム)の ID です。<br />
434 * <dl>
435 * <dt><b>値 :</b></dt>
436 * <dd>{@value}</dd>
437 * </dl>
438 */
439 public static final String URUMA_APP_SCHEME_ID = "org.seasar.uruma.keyConfiguration";
440
441 /**
442 * Uruma アプリケーションが使用するキーコンフィグレーション(スキーム)の名称です。<br />
443 * <dl>
444 * <dt><b>値 :</b></dt>
445 * <dd>{@value}</dd>
446 * </dl>
447 */
448 public static final String URUMA_APP_SCHEME_NAME = "UrumaApplication";
449
450 /**
451 * workbench.xml が存在しないときに使用されるダミーのパスです。<br />
452 * <dl>
453 * <dt><b>値 :</b></dt>
454 * <dd>{@value}</dd>
455 * </dl>
456 */
457 public static final String DUMMY_WORKBENCH_PATH = "dummyWorkbench.xml";
458
459 // -------------------------------------------------------------------------
460 // UrumaService に関する定数
461 // -------------------------------------------------------------------------
462
463 /**
464 * UrumaアプリケーションであるバンドルのSymbolicNameを保持するプロパティ名称です。
465 *
466 * <dl>
467 * <dt><b>値 :</b></dt>
468 * <dd>{@value}</dd>
469 * </dl>
470 */
471 public static final String URUMA_SERVICE_PROP_APPS = "UrumaApplications";
472 }