|
|||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
S2コンテナが管理するコンポーネントの定義を表すインターフェースです。
コンポーネント定義は、 コンポーネントの管理に必要な以下の情報を保持します。
インスタンス定義で設定します。
生成については、 コンポーネント生成式により指定することも可能です。引数定義、
初期化メソッド定義、 プロパティ定義などにより設定します。
アスペクト定義により設定します。メタデータ定義により、 コンポーネントに付加情報を設定できます。 メタデータは、
特殊なコンポーネントであることを識別する場合などに利用します。
ArgDef,
InterTypeDef,
PropertyDef,
InitMethodDef,
DestroyMethodDef,
AspectDef,
MetaDef| メソッドの概要 | |
void |
destroy()
コンポーネント定義を破棄します。 |
AutoBindingDef |
getAutoBindingDef()
自動バインディング定義を返します。 |
java.lang.Object |
getComponent()
定義に基づいてコンポーネントを返します。 |
java.lang.Class |
getComponentClass()
定義上のクラスを返します。 |
java.lang.String |
getComponentName()
コンポーネント名を返します。 |
java.lang.Class |
getConcreteClass()
アスペクト適用後の、 実際にインスタンス化されるコンポーネントのクラスを返します。 |
S2Container |
getContainer()
このコンポーネント定義を含むS2コンテナを返します。 |
Expression |
getExpression()
コンポーネントを生成する式を返します。 |
InstanceDef |
getInstanceDef()
インスタンス定義を返します。 |
void |
init()
コンポーネント定義を初期化します。 |
void |
injectDependency(java.lang.Object outerComponent)
外部コンポーネント outerComponentに対し、
コンポーネント定義に基づいて、 S2コンテナ上のコンポーネントをインジェクションします。 |
boolean |
isExternalBinding()
外部バインディングが有効な場合 trueを返します。
|
void |
setAutoBindingDef(AutoBindingDef autoBindingDef)
自動バインディング定義を設定します。 |
void |
setComponentName(java.lang.String componentName)
コンポーネント名を設定します。 |
void |
setContainer(S2Container container)
このコンポーネント定義を含むS2コンテナを設定します。 |
void |
setExpression(Expression expression)
コンポーネントを生成する式を設定します。 |
void |
setExternalBinding(boolean externalBinding)
外部バインディングを有効にする場合 trueを設定します。 |
void |
setInstanceDef(InstanceDef instanceDef)
インスタンス定義を設定します。 |
| インタフェース org.seasar.framework.container.ArgDefAware から継承したメソッド |
addArgDef, getArgDef, getArgDefSize |
| インタフェース org.seasar.framework.container.InterTypeDefAware から継承したメソッド |
addInterTypeDef, getInterTypeDef, getInterTypeDefSize |
| インタフェース org.seasar.framework.container.PropertyDefAware から継承したメソッド |
addPropertyDef, getPropertyDef, getPropertyDef, getPropertyDefSize, hasPropertyDef |
| インタフェース org.seasar.framework.container.InitMethodDefAware から継承したメソッド |
addInitMethodDef, getInitMethodDef, getInitMethodDefSize |
| インタフェース org.seasar.framework.container.DestroyMethodDefAware から継承したメソッド |
addDestroyMethodDef, getDestroyMethodDef, getDestroyMethodDefSize |
| インタフェース org.seasar.framework.container.AspectDefAware から継承したメソッド |
addAspectDef, addAspectDef, getAspectDef, getAspectDefSize |
| インタフェース org.seasar.framework.container.MetaDefAware から継承したメソッド |
addMetaDef, getMetaDef, getMetaDef, getMetaDefs, getMetaDefSize |
| メソッドの詳細 |
public java.lang.Object getComponent()
throws TooManyRegistrationRuntimeException,
CyclicReferenceRuntimeException
TooManyRegistrationRuntimeException - コンポーネント定義が重複している場合
CyclicReferenceRuntimeException - コンポーネント間に循環参照がある場合TooManyRegistrationComponentDefpublic void injectDependency(java.lang.Object outerComponent)
outerComponentに対し、
コンポーネント定義に基づいて、 S2コンテナ上のコンポーネントをインジェクションします。
outerComponent - 外部コンポーネントpublic S2Container getContainer()
public void setContainer(S2Container container)
container - S2コンテナpublic java.lang.Class getComponentClass()
diconファイルの<component>タグにおける、 class属性で指定されたクラスを表します。
自動バインディングされる際には、 このクラス(インターフェース)が使用されます。
public java.lang.String getComponentName()
public void setComponentName(java.lang.String componentName)
componentName - コンポーネント名public java.lang.Class getConcreteClass()
public AutoBindingDef getAutoBindingDef()
public void setAutoBindingDef(AutoBindingDef autoBindingDef)
autoBindingDef - 自動バインディング定義public InstanceDef getInstanceDef()
public void setInstanceDef(InstanceDef instanceDef)
instanceDef - インスタンス定義public Expression getExpression()
public void setExpression(Expression expression)
expression - コンポーネント生成式public boolean isExternalBinding()
trueを返します。
外部バインディングとは、 外部コンテキストにあるオブジェクトを、 指定したコンポーネントの対応するプロパティにバインディングする機能です。
Webアプリケーションにおいて、 リクエストコンテキストに入力された値を、
リクエストインスタンスを通して取得し、
リクエスト間(ページ間)で透過的に引き継ぐ場合などに利用されます。
trueAbstractPropertyAssembler.bindExternally(BeanDesc,
ComponentDef, Object, Set)public void setExternalBinding(boolean externalBinding)
trueを設定します。
externalBinding - 外部バインディングを有効にする場合truepublic void init()
コンポーネントインスタンス定義がsingletonの場合には、
アスペクトを適用したインスタンスの生成、 配備、 プロパティ設定の後に、
initMethodが呼ばれます。
SingletonComponentDeployer.init()public void destroy()
コンポーネントインスタンス定義がsingletonの場合には、
destroyMethodが呼ばれます。
SingletonComponentDeployer.destroy()
|
|||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||