org.seasar.uruma.rcp.core
クラス UrumaServiceImpl

java.lang.Object
  上位を拡張 org.seasar.uruma.rcp.core.UrumaServiceImpl
すべての実装されたインタフェース:
UrumaConstants, UrumaMessageCodes, UrumaService
直系の既知のサブクラス:
MockUrumaService

public class UrumaServiceImpl
extends Object
implements UrumaService, UrumaConstants, UrumaMessageCodes

UrumaService の実装クラスです。
本クラスは、 UrumaServiceFactory によって、Uruma アプリケーション毎に固有のインスタンスが生成されます。

作成者:
y-komori

フィールドの概要
protected static String APP_CLASSLOADER_PREFIX
           
protected  ClassLoader appClassLoader
           
protected  String appClassLoaderName
           
protected  ApplicationContext applicationContext
           
protected  S2Container container
           
protected  IContributor contributor
           
protected  String defaultContextId
           
protected  List<Extension> extensions
           
protected  ResourceBundle imageBundle
           
protected  ClassLoader oldClassLoader
           
protected  String pluginId
           
protected  Bundle targetBundle
           
protected  ViewTemplateLoader templateLoader
           
protected  TemplateManager templateManager
           
protected static String URUMA_CLASSLOADER_NAME
           
protected  ClassLoader urumaClassLoader
           
protected  WindowContext windowContext
           
protected  WorkbenchComponent workbenchComponent
           
 
インタフェース 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
 
コンストラクタの概要
UrumaServiceImpl(Bundle targetBundle)
          UrumaServiceImpl を構築します。
 
メソッドの概要
protected  ClassLoader activateUrumaApplication(Bundle bundle)
          指定したバンドルをアクティベートします。
protected  Template createDummyWorkbenchTemplate()
           
 String createRcpId(String id)
          画面コンポーネントのIDをRCP上のIDに変換します。
protected  String findFirstClassName(Bundle bundle)
          Bundle に含まれるクラスファイルのうち、最初に見つかった一つのクラス名を返します。
 ClassLoader getAppClassLoader()
          Urumaアプリケーションバンドルのクラスローダを返します。
 Bundle getBundle()
          Uruma アプリケーションのバンドルを返します。
 CommandRegistry getCommandRegistry()
          CommandRegistry のインスタンスを返します。
 S2Container getContainer()
          S2Container のインスタンスを返します。
 String getDefaultContextId()
          Uruma アプリケーションのためのデフォルトコンテクスト ID を返します。
 Extension getExtension(String point)
          指定した名前の拡張ポイントを返します。
 List<Extension> getExtensions()
          現在登録されている拡張ポイントのリストを返します。
 ResourceBundle getImageBundle()
          イメージ定義を保持する ResourceBundle を返します。
 String getLocalId(String rcpId)
          RCP上のIDから画面コンポーネントのIDを取得します。
 String getPluginId()
          現在のプラグイン ID を返します。
 Template getTemplate(String path)
          指定されたパスの画面定義XMLを読み込み、Template オブジェクトを生成します。
 ClassLoader getUrumaClassLoader()
          Urumaバンドルのクラスローダを返します。
 List<ViewPartComponent> getViewPartComponent()
          ViewPartComponent のリストを返します。
 IWorkbench getWorkbench()
          IWorkbench のインスタンスを返します。
 WorkbenchComponent getWorkbenchComponent()
          WorkbenchComponent を返します。
 WindowContext getWorkbenchWindowContext()
          ワークベンチウィンドウに対応する WindowContext を返します。
protected  void initialize()
          初期化処理を行います。
protected  void initS2Container()
          S2Container の初期化を行います。
protected  void prepareS2Components()
           
protected  void registerExtensions()
          拡張ポイントの設定を行います。
 void restoreClassLoader()
          直前に使用していたクラスローダに切り替えます。
protected  void setupContexts()
           
protected  void setupContributor()
           
protected  void switchClassLoader(ClassLoader loader, String loaderName)
           
 void switchToAppClassLoader()
          コンテクストクラスローダを Uruma アプリケーションのクラスローダに切り替えます。
 void switchToUrumaClassLoader()
          コンテクストクラスローダを Uruma バンドルのクラスローダに切り替えます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

URUMA_CLASSLOADER_NAME

protected static final String URUMA_CLASSLOADER_NAME
関連項目:
定数フィールド値

APP_CLASSLOADER_PREFIX

protected static final String APP_CLASSLOADER_PREFIX
関連項目:
定数フィールド値

appClassLoaderName

protected String appClassLoaderName

targetBundle

protected Bundle targetBundle

urumaClassLoader

protected ClassLoader urumaClassLoader

appClassLoader

protected ClassLoader appClassLoader

oldClassLoader

protected ClassLoader oldClassLoader

contributor

protected IContributor contributor

pluginId

protected String pluginId

container

protected S2Container container

templateManager

protected TemplateManager templateManager

templateLoader

protected ViewTemplateLoader templateLoader

applicationContext

protected ApplicationContext applicationContext

windowContext

protected WindowContext windowContext

workbenchComponent

protected WorkbenchComponent workbenchComponent

extensions

protected List<Extension> extensions

defaultContextId

protected String defaultContextId

imageBundle

protected ResourceBundle imageBundle
コンストラクタの詳細

UrumaServiceImpl

public UrumaServiceImpl(Bundle targetBundle)
UrumaServiceImpl を構築します。

パラメータ:
targetBundle - ターゲットバンドル
メソッドの詳細

initialize

protected void initialize()
初期化処理を行います。


registerExtensions

protected void registerExtensions()
拡張ポイントの設定を行います。


activateUrumaApplication

protected ClassLoader activateUrumaApplication(Bundle bundle)
指定したバンドルをアクティベートします。

パラメータ:
bundle - Urumaアプリケーションを含むバンドル
戻り値:
バンドルのクラスローダ

findFirstClassName

protected String findFirstClassName(Bundle bundle)
Bundle に含まれるクラスファイルのうち、最初に見つかった一つのクラス名を返します。

パラメータ:
bundle - Bundle オブジェクト
戻り値:
見つかったクラス名。見つからなかった場合は null

initS2Container

protected void initS2Container()
                        throws ClassNotFoundException
S2Container の初期化を行います。

例外:
ClassNotFoundException

prepareS2Components

protected void prepareS2Components()

switchClassLoader

protected void switchClassLoader(ClassLoader loader,
                                 String loaderName)

setupContributor

protected void setupContributor()

setupContexts

protected void setupContexts()

createDummyWorkbenchTemplate

protected Template createDummyWorkbenchTemplate()

getBundle

public Bundle getBundle()
インタフェース UrumaService の記述:
Uruma アプリケーションのバンドルを返します。

定義:
インタフェース UrumaService 内の getBundle
戻り値:
Bundle オブジェクト

getPluginId

public String getPluginId()
インタフェース UrumaService の記述:
現在のプラグイン ID を返します。

定義:
インタフェース UrumaService 内の getPluginId
戻り値:
プラグイン ID

createRcpId

public String createRcpId(String id)
インタフェース UrumaService の記述:
画面コンポーネントのIDをRCP上のIDに変換します。
RCP上のIDは、画面コンポーネントのIDにサフィックスとしてプラグインIDを追加したものになります。

【例】プラグインID: org.seasar.uruma.example、コンポーネントID: button の場合、本メソッドの戻り値は、 org.seasar.uruma.example.button となります。

定義:
インタフェース UrumaService 内の createRcpId
パラメータ:
id - 画面コンポーネントのID
戻り値:
RCP上のID

getLocalId

public String getLocalId(String rcpId)
インタフェース UrumaService の記述:
RCP上のIDから画面コンポーネントのIDを取得します。

定義:
インタフェース UrumaService 内の getLocalId
パラメータ:
rcpId - RCP上のID
戻り値:
画面コンポーネントのID
関連項目:
UrumaService.createRcpId(String)

getTemplate

public Template getTemplate(String path)
インタフェース UrumaService の記述:
指定されたパスの画面定義XMLを読み込み、Template オブジェクトを生成します。

定義:
インタフェース UrumaService 内の getTemplate
パラメータ:
path - 画面定義XMLのパス
戻り値:
Template オブジェクト

getWorkbench

public IWorkbench getWorkbench()
インタフェース UrumaService の記述:
IWorkbench のインスタンスを返します。

定義:
インタフェース UrumaService 内の getWorkbench
戻り値:
IWorkbench のインスタンス

getWorkbenchComponent

public WorkbenchComponent getWorkbenchComponent()
インタフェース UrumaService の記述:
WorkbenchComponent を返します。

定義:
インタフェース UrumaService 内の getWorkbenchComponent
戻り値:
WorkbenchComponent オブジェクト

getExtensions

public List<Extension> getExtensions()
インタフェース UrumaService の記述:
現在登録されている拡張ポイントのリストを返します。

定義:
インタフェース UrumaService 内の getExtensions
戻り値:
拡張ポイントのリスト

getExtension

public Extension getExtension(String point)
インタフェース UrumaService の記述:
指定した名前の拡張ポイントを返します。

定義:
インタフェース UrumaService 内の getExtension
パラメータ:
point - 拡張ポイントの名称
戻り値:
拡張ポイント。見つからなかった場合は null

getWorkbenchWindowContext

public WindowContext getWorkbenchWindowContext()
インタフェース UrumaService の記述:
ワークベンチウィンドウに対応する WindowContext を返します。

定義:
インタフェース UrumaService 内の getWorkbenchWindowContext
戻り値:
WindowContext

getContainer

public S2Container getContainer()
インタフェース UrumaService の記述:
S2Container のインスタンスを返します。

定義:
インタフェース UrumaService 内の getContainer
戻り値:
S2Container のインスタンス

getAppClassLoader

public ClassLoader getAppClassLoader()
インタフェース UrumaService の記述:
Urumaアプリケーションバンドルのクラスローダを返します。

定義:
インタフェース UrumaService 内の getAppClassLoader
戻り値:
Urumaアプリケーションバンドルのクラスローダ

getUrumaClassLoader

public ClassLoader getUrumaClassLoader()
インタフェース UrumaService の記述:
Urumaバンドルのクラスローダを返します。

定義:
インタフェース UrumaService 内の getUrumaClassLoader
戻り値:
Urumaバンドルのクラスローダ

switchToAppClassLoader

public void switchToAppClassLoader()
インタフェース UrumaService の記述:
コンテクストクラスローダを Uruma アプリケーションのクラスローダに切り替えます。

定義:
インタフェース UrumaService 内の switchToAppClassLoader

switchToUrumaClassLoader

public void switchToUrumaClassLoader()
インタフェース UrumaService の記述:
コンテクストクラスローダを Uruma バンドルのクラスローダに切り替えます。

定義:
インタフェース UrumaService 内の switchToUrumaClassLoader

restoreClassLoader

public void restoreClassLoader()
インタフェース UrumaService の記述:
直前に使用していたクラスローダに切り替えます。
直前に実行された UrumaService.switchToUrumaClassLoader() メソッドまたは、 UrumaService.switchToAppClassLoader() メソッド実行前のクラスローダに切り替えます。

定義:
インタフェース UrumaService 内の restoreClassLoader

getCommandRegistry

public CommandRegistry getCommandRegistry()
インタフェース UrumaService の記述:
CommandRegistry のインスタンスを返します。

定義:
インタフェース UrumaService 内の getCommandRegistry

getDefaultContextId

public String getDefaultContextId()
インタフェース UrumaService の記述:
Uruma アプリケーションのためのデフォルトコンテクスト ID を返します。
デフォルト値は <プラグインID>.context となります。

定義:
インタフェース UrumaService 内の getDefaultContextId
戻り値:
デフォルトコンテクスト ID

getImageBundle

public ResourceBundle getImageBundle()
インタフェース UrumaService の記述:
イメージ定義を保持する ResourceBundle を返します。
デフォルトは urumaImages.properties の内容となります。

定義:
インタフェース UrumaService 内の getImageBundle
戻り値:
ResourceBundle オブジェクト

getViewPartComponent

public List<ViewPartComponent> getViewPartComponent()
インタフェース UrumaService の記述:
ViewPartComponent のリストを返します。

定義:
インタフェース UrumaService 内の getViewPartComponent
戻り値:
ViewPartComponent オブジェクト


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