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

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

public interface InstanceDef

コンポーネントのインスタンスをS2コンテナ上でどのように管理するのかを定義します。

インスタンス定義の種類には、以下のものがあります。

singleton(default)
S2コンテナ上で唯一のインスタンスになります。
prototype
コンポーネントが必要とされる度に異なるインスタンスになります。
application
アプリケーションコンテキスト毎に1つのインスタンスになります。
request
リクエストコンテキスト毎に1つのインスタンスになります。
session
セッションコンテキスト毎に1つのインスタンスになります。
outer
コンポーネントのインスタンスはS2Containerの外で生成し、 インジェクションだけを行ないます。 アスペクト、コンストラクタ・インジェクションは適用できません。
それぞれ、 インスタンスが生成されるタイミングは、そのコンポーネントが必要とされる時になります。 また、 その時点で存在する「コンテキスト」に属するコンポーネントのみインジェクションが可能です。

インスタンス定義の指定方法には、以下のものがあります。

diconファイル
<component>instance属性で指定します。
Tigerアノテーション
@Componentinstance値で指定します。
インスタンス定義を省略した場合はsingletonを指定したことになります。

applicationrequestsessionを使う場合は、 S2Container.init()を行なう前にExternalContextをS2コンテナに設定する必要があります。

Webコンテナ用にはHttpServletExternalContextが用意されています。 S2ContainerListenerS2ContainerServletのいずれかとS2ContainerFilterをweb.xmlに設定すれば、 HttpServletExternalContextがS2コンテナに設定され、 applicationrequestsessionを使うことが出来るようになります。

作成者:
higa, goto

フィールドの概要
static java.lang.String APPLICATION_NAME
          インスタンス定義「application」を表す定数です。
static java.lang.String OUTER_NAME
          インスタンス定義「outer」を表す定数です。
static java.lang.String PROTOTYPE_NAME
          インスタンス定義「prototype」を表す定数です。
static java.lang.String REQUEST_NAME
          インスタンス定義「request」を表す定数です。
static java.lang.String SESSION_NAME
          インスタンス定義「session」を表す定数です。
static java.lang.String SINGLETON_NAME
          インスタンス定義「singleton」を表す定数です。
 
メソッドの概要
 ComponentDeployer createComponentDeployer(ComponentDef componentDef)
          インスタンス定義に基づいた、コンポーネント定義componentDefComponentDeployerを返します。
 java.lang.String getName()
          インスタンス定義の文字列表現を返します。
 

フィールドの詳細

SINGLETON_NAME

public static final java.lang.String SINGLETON_NAME
インスタンス定義「singleton」を表す定数です。

関連項目:
定数フィールド値

PROTOTYPE_NAME

public static final java.lang.String PROTOTYPE_NAME
インスタンス定義「prototype」を表す定数です。

関連項目:
定数フィールド値

APPLICATION_NAME

public static final java.lang.String APPLICATION_NAME
インスタンス定義「application」を表す定数です。

関連項目:
定数フィールド値

REQUEST_NAME

public static final java.lang.String REQUEST_NAME
インスタンス定義「request」を表す定数です。

関連項目:
定数フィールド値

SESSION_NAME

public static final java.lang.String SESSION_NAME
インスタンス定義「session」を表す定数です。

関連項目:
定数フィールド値

OUTER_NAME

public static final java.lang.String OUTER_NAME
インスタンス定義「outer」を表す定数です。

関連項目:
定数フィールド値
メソッドの詳細

getName

public java.lang.String getName()
インスタンス定義の文字列表現を返します。

戻り値:
インスタンス定義を表す文字列

createComponentDeployer

public ComponentDeployer createComponentDeployer(ComponentDef componentDef)
インスタンス定義に基づいた、コンポーネント定義componentDefComponentDeployerを返します。

パラメータ:
componentDef - コンポーネント定義
戻り値:
ComponentDeployerオブジェクト


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