org.seasar.uruma.core
クラス ComponentUtil

java.lang.Object
  上位を拡張 org.seasar.uruma.core.ComponentUtil
すべての実装されたインタフェース:
UrumaConstants, UrumaMessageCodes

public class ComponentUtil
extends Object
implements UrumaConstants, UrumaMessageCodes

パートアクションクラスに関するユーティリティクラスです。

作成者:
y-komori

フィールドの概要
 
インタフェース org.seasar.uruma.core.UrumaConstants から継承されたフィールド
AMPERSAND, AT_MARK, AUTO_ACTION_ID_PREFIX, AUTO_MENU_ID_PREFIX, COLON, COMMA, COMPONENT_DESC_SCHEMA_PATH, CONTENT_PROVIDER_SUFFIX, DEFAULT_IMAGE_BUNDLE_PATH, DEFAULT_LOG_PROPERTIES, DEFAULT_LOG_XML, DEFAULT_PERSPECTIVE_ID, DEFAULT_VIEWS_PATH, DEFAULT_WORKBENCH_HEIGHT, DEFAULT_WORKBENCH_WIDTH, DEFAULT_WORKBENCH_XML, DUMMY_WORKBENCH_PATH, EXCLAMATION_MARK, FORM_SUFFIX, HASH_MARK, LABEL_PROVIDER_SUFFIX, MENU_BAR_MANAGER_CID, NULL_STRING, PART_ACTION_SUFFIX, PERIOD, PROTCOL_FILE, PROTCOL_JAR, SCHEMA_PATH, SHELL_CID, SLASH, SORTER_SUFFIX, STATUS_LINE_MANAGER_CID, URUMA_APP_SCHEME_ID, URUMA_APP_SCHEME_NAME, URUMA_BUNDLE_SYMBOLIC_NAME, URUMA_DICON_PATH, URUMA_EXTENSION_DEBUG, URUMA_MESSAGE_BASE, URUMA_RCP_DICON_PATH, URUMA_SERVICE_PROP_APPS, URUMA_SERVICE_S2NAME, USER_MESSAGE_BASE, WHITE_SPACE, WINDOW_CID, WORKBENCH_TEMPLATE_NAME, WORKBENCH_WINDOW_CONTEXT_ID
 
インタフェース org.seasar.uruma.core.UrumaMessageCodes から継承されたフィールド
ANALYZING_BUNDLE, ASYNC_METHOD_CANCELED, ASYNC_METHOD_END, ASYNC_METHOD_SCHEDULED, ASYNC_METHOD_START, BUNDLE_START, BUNDLE_STARTED, BUNDLE_STOP, BUNDLE_UPDATE, CANT_BE_EMPTY_STRING, CANT_BE_NULL, CLASS_NOT_MUTCH, CLOSE_WINDOW, COMPARATOR_FOUND, COMPONENT_PROPERTY_IS_NOT_STRING, COMPONENT_REGISTERED, CONFIGURATION_WRITER_NOT_FOUND, CONTENT_PROVIDER_FOUND, COOLDEPLOY_PACKAGE_NOT_FOUND, CREATE_CONTRIBUTION, CREATE_METHOD_BINDING, DELETE_ALL_TEMPLATE_FROM_CACHE, DELETE_TEMPLATE_FROM_CACHE, DEPENDING_TYPE_NOT_SUPPORTED, DEPENDING_WIDGET_NOT_SUPPORTED, DICON_FILE_NOT_FOUND, DO_BINDING, DUPLICATE_ANNOTATED_METHOD, DUPLICATE_COMPONENT_ID, DUPLICATE_ID_TEMPLATE, DUPLICATE_WIDGET_ID, ENABLES_DEPENDING_TARGET_NOT_FOUND, END_METHOD_CALL, EXCEPTION_OCCURED, EXCEPTION_OCCURED_INVOKING_METHOD, EXCEPTION_OCCURED_WITH_REASON, EXCEPTION_ON_INVOKING_INITIALIZE_METHOD, EXPORT_APPLICATION_CONTEXT, EXTEND_TARGET_COMPONENT_NOT_FOUND, EXTEND_TARGET_PROPERTY_NOT_FOUND, FINDING_XML_START, FORM_CLASS_FOUND, FORM_CLASS_NOT_FOUND, ILLEGAL_ARG_NUMBERS, ILLEGAL_METHOD_SIGNATURE, IMAGE_DEF_BUNDLE_NOT_FOUND, IMPORT_APPLICATION_CONTEXT, INIT_WINDOW, INVALID_URUMA_APP_BUNDLE, IO_EXCEPTION_OCCURED, ISELECTION_LISTENER_REGISTERED, LABEL_PROVIDER_FOUND, LAYOUT_DATA_NOT_FOUND, LAYOUT_NOTO_FOUND, LOAD_TEMPLATE_FROM_CACHE, LOAD_TEMPLATE_FROM_FILE, LOADING_IMAGE_BUNDLE, MESSAGE_KEY_NOT_FOUND, MESSAGE_RESOURCE_NOT_FOUND, OPEN_WINDOW, PART_ACTION_CLASS_FOUND, PART_ACTION_CLASS_NOT_FOUND, PART_IN_PERSPECTIVE_NOT_FOUND, PERSPECTIVE_NOT_FOUND, PRE_RENDER_END, PRE_RENDER_START, PROPERTY_IS_NOT_WRITABLE, PROPERY_NOT_FOUND, RENDER_END, RENDER_MAPPING_FAILED, RENDER_START, RENDERER_NOT_FOUND, REQUIRED_VIEWPART_ERROR, STAND_ALONE_URUMA_STARTER_INIT, STAND_ALONE_URUMA_STARTER_STOP, START_METHOD_CALL, SWITCH_CONTEXT_CLASS_LOADER, SWT_EVENT_LISTENER_NOT_FOUND, TEMPLATE_NOT_FOUND, TEMPLATE_REGISTERED, TYPE_MISS_MATCH, UICOMPONENT_NOT_FOUND, UNSUPPORTED_CLASS, UNSUPPORTED_TYPE_ERROR, URUMA_APP_CLASS_LOADER_NOT_FOUND, URUMA_APP_NOT_FOUND, URUMA_APP_STARTED, URUMA_APP_STARTING, URUMA_APP_STARTING_FAILED, URUMA_APPLICATION_FOUND, URUMA_APPLICATION_STARTING, URUMA_APPLICATION_STOPPING, URUMA_BUNDLE_START, URUMA_BUNDLE_STOP, URUMA_SERVICE_DESTROY, URUMA_SERVICE_INIT_END, URUMA_SERVICE_INIT_START, VALUE_BINDER_NOT_FOUND, VIEW_INIT_END, VIEW_INIT_FAILED, VIEW_INIT_START, WIDGET_CREATED, WIDGET_NOT_FOUND, WIDGET_NOT_FOUND_ON_XML, WIDGET_NOT_SUPPORTED, WIDGET_PROPERTY_NOT_FOUND, WIDGET_REGISTERED, WIN32_API_CALL_FAILED, WINDOW_NOT_FOUND, WORKBENCH_ACTION_CLASS_FOUND, WORKBENCH_ACTION_CLASS_NOT_FOUND, WORKBENCH_DEF_FILE_NOT_FOUND, WORKBENCH_ELEMENT_NOT_FOUND
 
メソッドの概要
protected static void injectFormToAction(PartContext context)
          パートアクションオブジェクトにフォームオブジェクトのプロパティが存在する場合、 PartContext が保持するフォームオブジェクトをインジェクションします。
static void invokeInitMethodOnAction(Object partAction, PartContext context)
          パートアクションクラスの初期化メソッドを呼び出します。
static void invokeInitMethodOnAction(WindowContext context)
          ワークベンチアクションクラスの初期化メソッドを呼び出します。
static void invokePostOpenMethodOnAction(Object partAction, PartContext context)
          パートアクションクラスのPostOpenメソッドを呼び出します。
static void setS2Container(S2Container container)
          各種コンポーネントを検索する際の S2Container を設定します。
static void setupComparator(StructuredViewer viewer, String id, ViewerComparator defaultComparator)
          viewer に対して ViewerComparator を設定します。
static void setupContentProvider(ContentViewer viewer, String id, IContentProvider defaultProvider)
          viewer に対して IContentProvider を設定します。
static Object setupFormComponent(PartContext context, String id)
          フォームクラスを準備します。
static void setupLabelProvider(StructuredViewer viewer, String id, IBaseLabelProvider defaultProvider, Class<? extends IBaseLabelProvider> providerClass, Class<? extends PojoLabelProvider> pojoProviderClass)
          viewer に対して ILabelProvider を設定します。
static Object setupPartAction(PartContext context, String id)
          パートアクションクラスを準備します。
static Object setupPartAction(PartContext context, String id, S2Container container)
          パートアクションクラスを準備します。
static Object setupWorkbenchAction(WindowContext context, String id)
          ワークベンチアクションクラスを準備します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

setS2Container

public static void setS2Container(S2Container container)
各種コンポーネントを検索する際の S2Container を設定します。
本クラスの他のメソッドを使用する前に呼び出してください。

パラメータ:
container - S2Container オブジェクト

setupWorkbenchAction

public static Object setupWorkbenchAction(WindowContext context,
                                          String id)
ワークベンチアクションクラスを準備します。

パラメータ:
context - WindowContext オブジェクト
戻り値:
ワークベンチアクションクラスが見つかった場合、そのオブジェクト。
見つからなかった場合は null

setupPartAction

public static Object setupPartAction(PartContext context,
                                     String id,
                                     S2Container container)
パートアクションクラスを準備します。

パラメータ:
context - PartContext オブジェクト
id - 対応するパートの ID
container - 各種コンポーネントを検索する S2Container
戻り値:
パートアクションクラスが見つかった場合、そのオブジェクト。
見つからなかった場合は null

setupPartAction

public static Object setupPartAction(PartContext context,
                                     String id)
パートアクションクラスを準備します。

パラメータ:
context - PartContext オブジェクト
id - 対応するパートの ID
戻り値:
パートアクションクラスが見つかった場合、そのオブジェクト。
見つからなかった場合は null

setupFormComponent

public static Object setupFormComponent(PartContext context,
                                        String id)
フォームクラスを準備します。
アクションクラスに Form アノテーションが指定されている場合
Form アノテーションで指定されたクラスをフォームオブジェクトとして読み込みます。
(フォームオブジェクトはS2コンポーネントとして登録されている必要があります)
アクションクラスに Form アノテーションが指定されていない場合
S2コンテナに アクションコンポーネント名 + Form という名前のコンポーネントが登録されていれば、そのコンポーネントをフォームオブジェクトとして読み込みます。
規約に一致する名前のコンポーネントが存在しない場合は、アクションオブジェクトをフォームオブジェクトとして認識します。
また、パートアクションクラスにフォームクラスのプロパティが存在する場合、 そのプロパティにフォームオブジェクトをインジェクションします。

パラメータ:
context - PartContext オブジェクト
id - 対応するパートの ID
戻り値:
フォームクラスが見つかった場合、そのオブジェクト。
見つからなかった場合は null

injectFormToAction

protected static void injectFormToAction(PartContext context)
パートアクションオブジェクトにフォームオブジェクトのプロパティが存在する場合、 PartContext が保持するフォームオブジェクトをインジェクションします。


setupContentProvider

public static void setupContentProvider(ContentViewer viewer,
                                        String id,
                                        IContentProvider defaultProvider)
viewer に対して IContentProvider を設定します。

本メソッドでは以下の動作を行います。

  1. S2Container 上に、<コンポーネントのID>ContentProvider という名称で S2 コンポーネントが登録されているか確認する。
  2. 登録されていれば、その S2 コンポーネントが IContentProvider の実装クラスであるかどうかを確認する。
  3. サブクラスであれば、その S2 コンポーネントをコンテントプロバイダとして viewer へ設定する。
  4. S2 コンポーネントが見つからない場合、 defaultProvider で指定された オブジェクトをコンテントプロバイダとして viewer へ設定する。

パラメータ:
viewer - 設定対象のビューア
id - ビューアのコンポーネントID
defaultProvider - デフォルトで指定するコンテントプロバイダ
例外:
RenderException - 該当する名称の S2 コンポーネントが IContentProvider の実装クラスでない場合
関連項目:
ContentViewer.setContentProvider(IContentProvider)

setupLabelProvider

public static void setupLabelProvider(StructuredViewer viewer,
                                      String id,
                                      IBaseLabelProvider defaultProvider,
                                      Class<? extends IBaseLabelProvider> providerClass,
                                      Class<? extends PojoLabelProvider> pojoProviderClass)
viewer に対して ILabelProvider を設定します。

本メソッドでは以下の動作を行います。

  1. S2Container 上に、<コンポーネントのID>LabelProvider という名称で S2 コンポーネントが登録されているか確認する。
  2. 登録されていれば、その S2 コンポーネントが providerClass のサブクラスであるかどうかを確認する。
  3. サブクラスであれば、その S2 コンポーネントをラベルプロバイダとして viewer へ設定する。
  4. サブクラスであれば、POJO によるラベルプロバイダと認識して pojoProviderClass で与えられたオブジェクトでラップする。
  5. S2 コンポーネントが見つからない場合、 defaultProvider をラベルプロバイダとして viewer へ設定する。

パラメータ:
viewer - 設定対象のビューア
id - ビューアのコンポーネントID
defaultProvider - デフォルトのラベルプロバイダ
providerClass - S2コンポーネントをラベルプロバイダとして認識するためのクラス
pojoProviderClass - S2コンポーネントが providerClass ではなかった場合に使用する PojoLabelProvider のクラス
関連項目:
StructuredViewer.setLabelProvider(IBaseLabelProvider)

setupComparator

public static void setupComparator(StructuredViewer viewer,
                                   String id,
                                   ViewerComparator defaultComparator)
viewer に対して ViewerComparator を設定します。

本メソッドでは以下の動作を行います。

  1. S2Container 上に、<コンポーネントのID>Comparator という名称で S2 コンポーネントが登録されているか確認する。
  2. 登録されていれば、その S2 コンポーネントが ViewerComparator のサブクラスであるかどうかを確認する。
  3. サブクラスであれば、その S2 コンポーネントをコンパレータとして viewer へ設定する。
  4. S2 コンポーネントが見つからない場合、 defaultComparator をコンパレータとして viewer へ設定する。

パラメータ:
viewer - 設定対象のビューア
id - ビューアのコンポーネントID
例外:
RenderException - 該当する名称の S2 コンポーネントが ViewerComparator のサブクラスでない場合
関連項目:
StructuredViewer.setComparator(ViewerComparator)

invokeInitMethodOnAction

public static void invokeInitMethodOnAction(WindowContext context)
ワークベンチアクションクラスの初期化メソッドを呼び出します。

パラメータ:
context - WindowContext

invokeInitMethodOnAction

public static void invokeInitMethodOnAction(Object partAction,
                                            PartContext context)
パートアクションクラスの初期化メソッドを呼び出します。

パラメータ:
partAction - パートアクションオブジェクト
context - PartContext

invokePostOpenMethodOnAction

public static void invokePostOpenMethodOnAction(Object partAction,
                                                PartContext context)
パートアクションクラスのPostOpenメソッドを呼び出します。

パラメータ:
partAction - パートアクションオブジェクト
context - PartContext


Copyright © 2006-2008 The Seasar Foundation. All Rights Reserved.