パッケージ org.seasar.framework.container

S2コンテナとその構成要素を定義するインターフェースおよび、S2コンテナの振舞いに関連した例外クラスを提供します。

参照:
          説明

インタフェースの概要
AccessTypeDef このインターフェースは、 コンポーネントの状態に対するアクセスタイプ定義を表します。
ArgDef コンポーネントのコンストラクタおよびメソッドに与えられる引数定義のためのインターフェースです。
ArgDefAware このインターフェースは、 引数定義を登録および取得することができるオブジェクトを表します。
AspectDef コンポーネントに適用するアスペクトを定義するインターフェースです。
AspectDefAware このインターフェースは、 アスペクト定義を登録および取得することができるオブジェクトを表します。
AutoBindingDef 自動バインディングを適用する範囲を表す自動バインディング定義のインターフェースです。
BindingTypeDef コンポーネントをインジェクションする時の動作を表すバインディングタイプを定義するインターフェースです。
ComponentCreator SMART deployにおいて、 自動登録されるコンポーネントのコンポーネント定義を作成するためのインターフェースです。
ComponentCustomizer コンポーネント定義をカスタマイズします。
ComponentDef S2コンテナが管理するコンポーネントの定義を表すインターフェースです。
ComponentDeployer コンポーネントデプロイヤは、 コンポーネントを利用可能な状態にして提供するためのインターフェースです。
ConstructorAssembler コンストラクタ・インジェクションを実行してコンポーネントを組み立てます。
ContainerConstants S2コンテナで使用される定数を定義するインターフェースです。
DestroyMethodDef コンポーネントに対してdestroyメソッド・インジェクションを定義するためのインターフェースです。
DestroyMethodDefAware このインターフェースは、 destroyメソッド定義を追加および取得することができるオブジェクトを表します。
Expression 式を表わすインターフェースです。
ExternalContext S2コンテナ上で、 Webコンテナなどの外部コンテキストを扱うためのインターフェースです。
ExternalContextComponentDefRegister 外部コンテキストが提供するコンポーネント定義を、 S2コンテナに登録します。
InitMethodDef コンポーネントに対してinitメソッド・インジェクションを定義するためのインターフェースです。
InitMethodDefAware このインターフェースは、 initメソッド定義を登録および取得することができるオブジェクトを表します。
InstanceDef コンポーネントのインスタンスをS2コンテナ上でどのように管理するのかを定義します。
InterTypeDef コンポーネントに組み込むインタータイプを定義するインターフェースです。
InterTypeDefAware このインターフェースはインタータイプ定義を登録および取得する方法を定義するオブジェクトを表します。
MetaDef コンポーネントの付加情報を定義するためのインターフェースです。
MetaDefAware このインターフェースは、メタデータ定義を追加および取得することのできるオブジェクトを表します。
MethodAssembler メソッド・インジェクションを実行してコンポーネントを組み立てます。
MethodDef メソッド・インジェクションを定義するためのインターフェースです。
PropertyAssembler プロパティ・インジェクションやフィールド・インジェクションを実行してコンポーネントを組み立てます。
PropertyDef コンポーネントのプロパティまたはフィールドにインジェクションする方法を定義するインターフェースです。
PropertyDefAware このインターフェースはプロパティ定義を登録および取得する方法を定義するオブジェクトを表します。
S2Container DIとAOPをサポートしたS2コンテナのインターフェースです。
TooManyRegistrationComponentDef S2コンテナ内に1つのキーで複数登録されたコンポーネントの定義を表すインターフェースです。
 

例外の概要
ClassUnmatchRuntimeException コンポーネントのインスタンスを、 コンポーネント定義に指定されたクラスにキャスト出来ない場合にスローされます。
ComponentNotFoundRuntimeException 取得しようとしたコンポーネントがS2コンテナ上に見つからなかった場合にスローされます。
ContainerNotRegisteredRuntimeException diconファイルなどの設定情報に対応するS2コンテナが、 コンテナツリーに登録されていなかった場合にスローされます。
CyclicReferenceRuntimeException コンポーネントの循環参照が発生した場合にスローされます。
ExtensionNotFoundRuntimeException 指定されたパスのファイル名に、 拡張子が付いていなかった場合にスローされます。
IllegalAccessTypeDefRuntimeException 不正なアクセスタイプ定義が指定された場合にスローされます。
IllegalAutoBindingDefRuntimeException 不正な自動バインディング定義が指定された場合にスローされます。
IllegalAutoBindingPropertyRuntimeException 自動バインディングの対象となるコンポーネントが見つからなかった場合にスローされます。
IllegalBindingTypeDefRuntimeException 不正なバインディングタイプ定義が指定された場合にスローされます。
IllegalConstructorRuntimeException コンポーネントの構築に失敗した場合にスローされます。
IllegalDestroyMethodAnnotationRuntimeException アノテーションで指定されたdestroyメソッド・インジェクション定義が不正だった場合にスローされます。
IllegalInitMethodAnnotationRuntimeException アノテーションで指定されたinitメソッド・インジェクション定義が不正だった場合にスローされます。
IllegalInstanceDefRuntimeException 不正なコンポーネントインスタンス定義が指定された場合にスローされます。
IllegalMethodRuntimeException 不正なメソッド・インジェクション定義が指定されていた場合にスローされます。
TooManyRegistrationRuntimeException 1つのキーに複数のコンポーネントが登録されていた場合にスローされます。
 

パッケージ org.seasar.framework.container の説明

S2コンテナとその構成要素を定義するインターフェースおよび、S2コンテナの振舞いに関連した例外クラスを提供します。

このパッケージを構成する主な要素は、以下のとおりです。

コンテナ本体(S2Container
S2コンテナ本体は、各コンポーネントの定義情報を保持し、必要に応じてコンポーネントの生成・提供を行います。 S2コンテナは階層構造を持つことができます。階層関係はdiconファイルの<include>要素で指定します。
定義情報(~Def)
diconファイルやアノテーションで指定されたコンポーネントの定義情報は、S2コンテナ上では ComponentDefPropertyDef などの定義情報として保持されます。
定義情報の所有(~DefAware)
定義情報を所有可能であることを表すインターフェースです。 定義情報の追加、定義情報の数の取得、定義情報の取得の3種類のメソッドを提供します。 diconファイルにおける定義情報の所有関係の例としては、 <component>要素(PropertyDefAware)と<property>要素(PropertyDef) の関係などが挙げられます。
式(Expression
S2コンテナでは、コンポーネントの定義や値の定義に、式を利用することが出来ます。標準ではOGNL式をサポートしています。
外部コンテキスト(ExternalContext
Webコンテナやポートレットコンテナで管理されるコンポーネントへのアクセス手段を提供します。 例えば、Webコンテナのrequestスコープコンポーネント(HttpServletRequest)の取得や設定を行うことが出来ます。
コンポーネントの構築(~Assembler)
S2コンテナでは、コンストラクタ、プロパティ設定、初期化メソッドを順に実行してコンポーネントを組み立てます。 それぞれの処理をConstructorAssemblerPropertyAssemblerMethodAssemblerが担当します。 (MethodAssemblerは、S2コンテナによって管理されているコンポーネントが破棄される際の destroyメソッドとしても用いられます)
SMART deploy (HOT / WARM / COOL deploy)
規約に従って作成されたクラスを、S2コンテナが管理するコンポーネントとして自動的に登録する機能を提供します。 この機能に関連するインターフェースとしてComponentCreatorComponentCustomizerComponentDeployerがあります。


diconファイルタグと定義情報インターフェース

この表は、diconファイルのタグ(及びTigarアノテーション)と定義情報を表すインターフェース(及び定義情報の所有を表すインターフェース)の関係を示しています。

diconファイルタグと定義情報インターフェースの関係
diconファイルタグ Tigerアノテーション 定義情報インタフェース(~Def) 定義情報の所有インターフェース(~DefAware)
<components> - S2Container -
<component> @Component ComponentDef -
<arg> - ArgDef ArgDefAware
<property> @Binding PropertyDef PropertyDefAware
<initMethod> @InitMethod InitMethodDef InitMethodDefAware
<destroyMethod> @DestroyMethod DestroyMethodDef DestroyMethodDefAware
<aspect> @Aspect AspectDef AspectDefAware
<interType> @InterType InterTypeDef InterTypeDefAware
<meta> - MetaDef MetaDefAware



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