View Javadoc

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 }