org.seasar.framework.container
インタフェース ComponentDeployer

既知の実装クラスの一覧:
AbstractComponentDeployer

public interface ComponentDeployer

コンポーネントデプロイヤは、 コンポーネントを利用可能な状態にして提供するためのインターフェースです。

このインターフェースは、 インスタンス定義に応じて以下の機能を提供します。

シングルトン(singleton)の場合
プロトタイプ(prototype)の場合
外部コンテキスト(applicationsessionrequest)の場合
外部コンポーネント(outer)の場合

インスタンス定義と有効なメソッドの対応表を以下に示します。

インスタンス定義と有効なメソッドとの関係
インスタンス定義 シングルトン プロトタイプ 外部コンテキスト 外部コンポーネント
singleton prototype application session request outer
メソッド init()
deploy() ×
injectDependency(Object) × × × × ×
destroy()
○:適切な処理が行われます △:例外は発生しませんが何も処理を行いません ×:例外が発生します

作成者:
higa, belltree

メソッドの概要
 java.lang.Object deploy()
          インスタンス定義に応じてインスタンス生成や外部コンテキストへの配備などを行った後に、 そのコンポーネントのインスタンスを返します。
 void destroy()
          コンポーネントデプロイヤを破棄します。
 void init()
          コンポーネントデプロイヤを初期化します。
 void injectDependency(java.lang.Object outerComponent)
          外部コンポーネントouterComponentに対し、 このコンポーネントデプロイヤコンポーネント定義に基づいて、 S2コンテナ上のコンポーネントをインジェクションします。
 

メソッドの詳細

deploy

public java.lang.Object deploy()
インスタンス定義に応じてインスタンス生成や外部コンテキストへの配備などを行った後に、 そのコンポーネントのインスタンスを返します。

戻り値:
コンポーネントのインスタンス
関連項目:
SingletonComponentDeployer.deploy(), PrototypeComponentDeployer.deploy(), ApplicationComponentDeployer.deploy(), RequestComponentDeployer.deploy(), SessionComponentDeployer.deploy()

injectDependency

public void injectDependency(java.lang.Object outerComponent)
外部コンポーネントouterComponentに対し、 このコンポーネントデプロイヤコンポーネント定義に基づいて、 S2コンテナ上のコンポーネントをインジェクションします。

パラメータ:
outerComponent - 外部コンポーネント
関連項目:
OuterComponentDeployer.injectDependency(Object)

init

public void init()
コンポーネントデプロイヤを初期化します。

デプロイするコンポーネントのインスタンス定義singletonの場合には、 アスペクトを適用したインスタンスの生成、 配備、 プロパティ設定の後に、 initMethodが呼ばれます。

関連項目:
SingletonComponentDeployer.init(), DefaultInitMethodAssembler.assemble(Object)

destroy

public void destroy()
コンポーネントデプロイヤを破棄します。

デプロイするコンポーネントのインスタンス定義singletonの場合には、 destoryMethodが呼ばれます。

関連項目:
SingletonComponentDeployer.destroy(), DefaultDestroyMethodAssembler.assemble(Object)


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.