org.seasar.framework.container.impl
クラス ComponentDefImpl

java.lang.Object
  拡張org.seasar.framework.container.impl.ComponentDefImpl
すべての実装インタフェース:
ArgDefAware, AspectDefAware, ComponentDef, ContainerConstants, DestroyMethodDefAware, InitMethodDefAware, InterTypeDefAware, MetaDefAware, PropertyDefAware

public class ComponentDefImpl
extends java.lang.Object
implements ComponentDef, ContainerConstants

ComponentDefの実装クラスです。

作成者:
higa

フィールドの概要
 
インタフェース org.seasar.framework.container.ContainerConstants から継承したフィールド
APPLICATION_SCOPE, COMPONENT_DEF_NAME, CONFIG_NAME, CONTAINER_NAME, COOKIE, HEADER, HEADER_VALUES, INIT_PARAM, NS_SEP, NS_SEP_STR, PACKAGE_SEP, PARAM, PARAM_VALUES, REQUEST_NAME, REQUEST_SCOPE, RESPONSE_NAME, SERVLET_CONTEXT_NAME, SESSION_NAME, SESSION_SCOPE
 
コンストラクタの概要
ComponentDefImpl()
          ComponentDefImplを作成します。
ComponentDefImpl(java.lang.Class componentClass)
          ComponentDefImplを作成します。
ComponentDefImpl(java.lang.Class componentClass, java.lang.String componentName)
          ComponentDefImplを作成します。
 
メソッドの概要
 void addArgDef(ArgDef argDef)
          引数定義を追加します。
 void addAspectDef(AspectDef aspectDef)
          アスペクト定義を追加します。
 void addAspectDef(int index, AspectDef aspectDef)
          アスペクト定義を指定の位置に追加します。
 void addDestroyMethodDef(DestroyMethodDef methodDef)
          destroyメソッド定義を追加します。
 void addInitMethodDef(InitMethodDef methodDef)
          initメソッド定義を追加します。
 void addInterTypeDef(InterTypeDef interTypeDef)
          インタータイプ定義を追加します。
 void addMetaDef(MetaDef metaDef)
          メタデータ定義を追加します。
 void addPropertyDef(PropertyDef propertyDef)
          プロパティ定義を追加します。
 void destroy()
          コンポーネント定義を破棄します。
 ArgDef getArgDef(int index)
          指定されたインデックス番号indexの引数定義を返します。
 int getArgDefSize()
          登録されている引数定義の数を返します。
 AspectDef getAspectDef(int index)
          指定されたインデックス番号indexのアスペクト定義を返します。
 int getAspectDefSize()
          登録されているアスペクト定義の数を返します。
 AutoBindingDef getAutoBindingDef()
          自動バインディング定義を返します。
 java.lang.Object getComponent()
          定義に基づいてコンポーネントを返します。
 java.lang.Class getComponentClass()
          定義上のクラスを返します。
 ComponentDeployer getComponentDeployer()
          ComponentDeployerを返します。
 java.lang.String getComponentName()
          コンポーネント名を返します。
 java.lang.Class getConcreteClass()
          アスペクト適用後の、 実際にインスタンス化されるコンポーネントのクラスを返します。
 S2Container getContainer()
          このコンポーネント定義を含むS2コンテナを返します。
 DestroyMethodDef getDestroyMethodDef(int index)
          指定されたインデックス番号indexのdestroyメソッド定義を返します。
 int getDestroyMethodDefSize()
          destroyメソッド定義の数を返します。
 Expression getExpression()
          コンポーネントを生成する式を返します。
 InitMethodDef getInitMethodDef(int index)
          指定されたインデックス番号indexのinitメソッド定義を返します。
 int getInitMethodDefSize()
          登録されているinitメソッド定義の数を返します。
 InstanceDef getInstanceDef()
          インスタンス定義を返します。
 InterTypeDef getInterTypeDef(int index)
          指定されたインデックス番号indexインタータイプ定義を返します。
 int getInterTypeDefSize()
          登録されているインタータイプ定義の数を返します。
 MetaDef getMetaDef(int index)
          インデックス番号indexで指定されたメタデータ定義を返します。
 MetaDef getMetaDef(java.lang.String name)
          指定したメタデータ定義名で登録されているメタデータ定義を取得します。
 MetaDef[] getMetaDefs(java.lang.String name)
          指定したメタデータ定義名で登録されているメタデータ定義を取得します。
 int getMetaDefSize()
          メタデータ定義の数を返します。
 PropertyDef getPropertyDef(int index)
          指定されたインデックス番号indexプロパティ定義を返します。
 PropertyDef getPropertyDef(java.lang.String propertyName)
          指定したプロパティ名で登録されているプロパティ定義を返します。
 int getPropertyDefSize()
          登録されているプロパティ定義の数を返します。
 boolean hasPropertyDef(java.lang.String propertyName)
          指定したプロパティ名のプロパティ定義があればtrueを返します。
 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)
          インスタンス定義を設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ComponentDefImpl

public ComponentDefImpl()
ComponentDefImplを作成します。


ComponentDefImpl

public ComponentDefImpl(java.lang.Class componentClass)
ComponentDefImplを作成します。

パラメータ:
componentClass -

ComponentDefImpl

public ComponentDefImpl(java.lang.Class componentClass,
                        java.lang.String componentName)
ComponentDefImplを作成します。

パラメータ:
componentClass -
componentName -
メソッドの詳細

getComponent

public java.lang.Object getComponent()
インタフェース ComponentDef の記述:
定義に基づいてコンポーネントを返します。

定義:
インタフェース ComponentDef 内の getComponent
戻り値:
コンポーネント
関連項目:
TooManyRegistrationComponentDef

injectDependency

public void injectDependency(java.lang.Object outerComponent)
インタフェース ComponentDef の記述:
外部コンポーネントouterComponentに対し、 コンポーネント定義に基づいて、 S2コンテナ上のコンポーネントをインジェクションします。

定義:
インタフェース ComponentDef 内の injectDependency
パラメータ:
outerComponent - 外部コンポーネント

getComponentClass

public java.lang.Class getComponentClass()
インタフェース ComponentDef の記述:
定義上のクラスを返します。

diconファイルの<component>タグにおける、 class属性で指定されたクラスを表します。 自動バインディングされる際には、 このクラス(インターフェース)が使用されます。

定義:
インタフェース ComponentDef 内の getComponentClass
戻り値:
定義上のクラス

getComponentName

public java.lang.String getComponentName()
インタフェース ComponentDef の記述:
コンポーネント名を返します。

定義:
インタフェース ComponentDef 内の getComponentName
戻り値:
コンポーネント名

setComponentName

public void setComponentName(java.lang.String componentName)
インタフェース ComponentDef の記述:
コンポーネント名を設定します。

定義:
インタフェース ComponentDef 内の setComponentName
パラメータ:
componentName - コンポーネント名

getConcreteClass

public java.lang.Class getConcreteClass()
インタフェース ComponentDef の記述:
アスペクト適用後の、 実際にインスタンス化されるコンポーネントのクラスを返します。

定義:
インタフェース ComponentDef 内の getConcreteClass
戻り値:
実際のクラス

getContainer

public S2Container getContainer()
インタフェース ComponentDef の記述:
このコンポーネント定義を含むS2コンテナを返します。

定義:
インタフェース ComponentDef 内の getContainer
戻り値:
S2コンテナ

setContainer

public void setContainer(S2Container container)
インタフェース ComponentDef の記述:
このコンポーネント定義を含むS2コンテナを設定します。

定義:
インタフェース ComponentDef 内の setContainer
パラメータ:
container - S2コンテナ

addArgDef

public void addArgDef(ArgDef argDef)
インタフェース ArgDefAware の記述:
引数定義を追加します。

定義:
インタフェース ArgDefAware 内の addArgDef
パラメータ:
argDef - 引数定義

addPropertyDef

public void addPropertyDef(PropertyDef propertyDef)
インタフェース PropertyDefAware の記述:
プロパティ定義を追加します。

定義:
インタフェース PropertyDefAware 内の addPropertyDef
パラメータ:
propertyDef - プロパティ定義

addInitMethodDef

public void addInitMethodDef(InitMethodDef methodDef)
インタフェース InitMethodDefAware の記述:
initメソッド定義を追加します。

定義:
インタフェース InitMethodDefAware 内の addInitMethodDef
パラメータ:
methodDef - initメソッド定義

addDestroyMethodDef

public void addDestroyMethodDef(DestroyMethodDef methodDef)
インタフェース DestroyMethodDefAware の記述:
destroyメソッド定義を追加します。

定義:
インタフェース DestroyMethodDefAware 内の addDestroyMethodDef
パラメータ:
methodDef - destroyメソッド定義

addAspectDef

public void addAspectDef(AspectDef aspectDef)
インタフェース AspectDefAware の記述:
アスペクト定義を追加します。

定義:
インタフェース AspectDefAware 内の addAspectDef
パラメータ:
aspectDef - アスペクト定義

addAspectDef

public void addAspectDef(int index,
                         AspectDef aspectDef)
インタフェース AspectDefAware の記述:
アスペクト定義を指定の位置に追加します。

定義:
インタフェース AspectDefAware 内の addAspectDef
パラメータ:
index - アスペクト定義を追加する位置
aspectDef - アスペクト定義

addInterTypeDef

public void addInterTypeDef(InterTypeDef interTypeDef)
インタフェース InterTypeDefAware の記述:
インタータイプ定義を追加します。

定義:
インタフェース InterTypeDefAware 内の addInterTypeDef
パラメータ:
interTypeDef - インタータイプ定義

getArgDefSize

public int getArgDefSize()
インタフェース ArgDefAware の記述:
登録されている引数定義の数を返します。

定義:
インタフェース ArgDefAware 内の getArgDefSize
戻り値:
登録されている引数定義の数

getPropertyDefSize

public int getPropertyDefSize()
インタフェース PropertyDefAware の記述:
登録されているプロパティ定義の数を返します。

定義:
インタフェース PropertyDefAware 内の getPropertyDefSize
戻り値:
登録されているプロパティ定義の数

getInitMethodDefSize

public int getInitMethodDefSize()
インタフェース InitMethodDefAware の記述:
登録されているinitメソッド定義の数を返します。

定義:
インタフェース InitMethodDefAware 内の getInitMethodDefSize
戻り値:
登録されているinitメソッド定義の数

getDestroyMethodDefSize

public int getDestroyMethodDefSize()
インタフェース DestroyMethodDefAware の記述:
destroyメソッド定義の数を返します。

定義:
インタフェース DestroyMethodDefAware 内の getDestroyMethodDefSize
戻り値:
destroyメソッド定義の数

getAspectDefSize

public int getAspectDefSize()
インタフェース AspectDefAware の記述:
登録されているアスペクト定義の数を返します。

登録されているインターセプタの数ではなく、 アスペクト定義の数を返します。 アスペクト定義のコンポーネント(インターセプタ)のクラスが InterceptorChainで、 その中に複数のインターセプタが含まれる場合も、 1つのアスペクト定義としてカウントします。

定義:
インタフェース AspectDefAware 内の getAspectDefSize
戻り値:
登録されているアスペクト定義の数

getInterTypeDefSize

public int getInterTypeDefSize()
インタフェース InterTypeDefAware の記述:
登録されているインタータイプ定義の数を返します。

定義:
インタフェース InterTypeDefAware 内の getInterTypeDefSize
戻り値:
登録されているインタータイプ定義の数

getInstanceDef

public InstanceDef getInstanceDef()
インタフェース ComponentDef の記述:
インスタンス定義を返します。

定義:
インタフェース ComponentDef 内の getInstanceDef
戻り値:
インスタンス定義

setInstanceDef

public void setInstanceDef(InstanceDef instanceDef)
インタフェース ComponentDef の記述:
インスタンス定義を設定します。

定義:
インタフェース ComponentDef 内の setInstanceDef
パラメータ:
instanceDef - インスタンス定義

getAutoBindingDef

public AutoBindingDef getAutoBindingDef()
インタフェース ComponentDef の記述:
自動バインディング定義を返します。

定義:
インタフェース ComponentDef 内の getAutoBindingDef
戻り値:
自動バインディング定義

setAutoBindingDef

public void setAutoBindingDef(AutoBindingDef autoBindingDef)
インタフェース ComponentDef の記述:
自動バインディング定義を設定します。

定義:
インタフェース ComponentDef 内の setAutoBindingDef
パラメータ:
autoBindingDef - 自動バインディング定義

init

public void init()
インタフェース ComponentDef の記述:
コンポーネント定義を初期化します。

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

定義:
インタフェース ComponentDef 内の init
関連項目:
SingletonComponentDeployer.init()

destroy

public void destroy()
インタフェース ComponentDef の記述:
コンポーネント定義を破棄します。

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

定義:
インタフェース ComponentDef 内の destroy
関連項目:
SingletonComponentDeployer.destroy()

getExpression

public Expression getExpression()
インタフェース ComponentDef の記述:
コンポーネントを生成する式を返します。

定義:
インタフェース ComponentDef 内の getExpression
戻り値:
コンポーネント生成式

setExpression

public void setExpression(Expression expression)
インタフェース ComponentDef の記述:
コンポーネントを生成する式を設定します。

定義:
インタフェース ComponentDef 内の setExpression
パラメータ:
expression - コンポーネント生成式

getArgDef

public ArgDef getArgDef(int index)
インタフェース ArgDefAware の記述:
指定されたインデックス番号indexの引数定義を返します。

インデックス番号は、 登録した順番に 0,1,2,… となります。

定義:
インタフェース ArgDefAware 内の getArgDef
パラメータ:
index - 引数定義を指定するインデックス番号
戻り値:
引数定義

getPropertyDef

public PropertyDef getPropertyDef(int index)
インタフェース PropertyDefAware の記述:
指定されたインデックス番号indexプロパティ定義を返します。

定義:
インタフェース PropertyDefAware 内の getPropertyDef
パラメータ:
index - プロパティ定義を指定するインデックス番号
戻り値:
プロパティ定義

getPropertyDef

public PropertyDef getPropertyDef(java.lang.String propertyName)
インタフェース PropertyDefAware の記述:
指定したプロパティ名で登録されているプロパティ定義を返します。

定義:
インタフェース PropertyDefAware 内の getPropertyDef
パラメータ:
propertyName - プロパティ名
戻り値:
プロパティ定義

hasPropertyDef

public boolean hasPropertyDef(java.lang.String propertyName)
インタフェース PropertyDefAware の記述:
指定したプロパティ名のプロパティ定義があればtrueを返します。

定義:
インタフェース PropertyDefAware 内の hasPropertyDef
パラメータ:
propertyName - プロパティ名
戻り値:
プロパティ定義が存在していればtrue、存在していなければfalse

getInitMethodDef

public InitMethodDef getInitMethodDef(int index)
インタフェース InitMethodDefAware の記述:
指定されたインデックス番号indexのinitメソッド定義を返します。

インデックス番号は、 登録した順番に 0,1,2,… となります。

定義:
インタフェース InitMethodDefAware 内の getInitMethodDef
パラメータ:
index - initメソッド定義を指定するインデックス番号
戻り値:
initメソッド定義

getDestroyMethodDef

public DestroyMethodDef getDestroyMethodDef(int index)
インタフェース DestroyMethodDefAware の記述:
指定されたインデックス番号indexのdestroyメソッド定義を返します。

インデックス番号は、 追加した順番に 0,1,2,… となります。

定義:
インタフェース DestroyMethodDefAware 内の getDestroyMethodDef
パラメータ:
index - destroyメソッド定義を指定するインデックス番号
戻り値:
destroyメソッド定義

getAspectDef

public AspectDef getAspectDef(int index)
インタフェース AspectDefAware の記述:
指定されたインデックス番号indexのアスペクト定義を返します。

インデックス番号は、 登録した順番に 0,1,2,… となります。

定義:
インタフェース AspectDefAware 内の getAspectDef
パラメータ:
index - アスペクト定義を指定するインデックス番号
戻り値:
アスペクト定義

getInterTypeDef

public InterTypeDef getInterTypeDef(int index)
インタフェース InterTypeDefAware の記述:
指定されたインデックス番号indexインタータイプ定義を返します。

定義:
インタフェース InterTypeDefAware 内の getInterTypeDef
パラメータ:
index - インタータイプ定義を指定するインデックス番号
戻り値:
インタータイプ定義

addMetaDef

public void addMetaDef(MetaDef metaDef)
インタフェース MetaDefAware の記述:
メタデータ定義を追加します。

定義:
インタフェース MetaDefAware 内の addMetaDef
パラメータ:
metaDef - メタデータ定義

getMetaDef

public MetaDef getMetaDef(int index)
インタフェース MetaDefAware の記述:
インデックス番号indexで指定されたメタデータ定義を返します。

インデックス番号は、追加した順に0, 1, 2…となります。

定義:
インタフェース MetaDefAware 内の getMetaDef
パラメータ:
index - メタデータ定義を指定するインデックス番号
戻り値:
メタデータ定義

getMetaDef

public MetaDef getMetaDef(java.lang.String name)
インタフェース MetaDefAware の記述:
指定したメタデータ定義名で登録されているメタデータ定義を取得します。
メタデータ定義が登録されていない場合、nullを返します。

定義:
インタフェース MetaDefAware 内の getMetaDef
パラメータ:
name - メタデータ定義名
戻り値:
メタデータ定義

getMetaDefs

public MetaDef[] getMetaDefs(java.lang.String name)
インタフェース MetaDefAware の記述:
指定したメタデータ定義名で登録されているメタデータ定義を取得します。
メタデータ定義が登録されていない場合、要素数0の配列を返します。

定義:
インタフェース MetaDefAware 内の getMetaDefs
パラメータ:
name - メタデータ定義名
戻り値:
メタデータ定義を格納した配列

getMetaDefSize

public int getMetaDefSize()
インタフェース MetaDefAware の記述:
メタデータ定義の数を返します。

定義:
インタフェース MetaDefAware 内の getMetaDefSize
戻り値:
メタデータ定義の数

getComponentDeployer

public ComponentDeployer getComponentDeployer()
ComponentDeployerを返します。

戻り値:
ComponentDeployer

isExternalBinding

public boolean isExternalBinding()
インタフェース ComponentDef の記述:
外部バインディングが有効な場合trueを返します。

外部バインディングとは、 外部コンテキストにあるオブジェクトを、 指定したコンポーネントの対応するプロパティにバインディングする機能です。

Webアプリケーションにおいて、 リクエストコンテキストに入力された値を、 リクエストインスタンスを通して取得し、 リクエスト間(ページ間)で透過的に引き継ぐ場合などに利用されます。

定義:
インタフェース ComponentDef 内の isExternalBinding
戻り値:
外部バインディングが有効な場合true
関連項目:
AbstractPropertyAssembler.bindExternally(BeanDesc, ComponentDef, Object, Set)

setExternalBinding

public void setExternalBinding(boolean externalBinding)
インタフェース ComponentDef の記述:
外部バインディングを有効にする場合trueを設定します。

定義:
インタフェース ComponentDef 内の setExternalBinding
パラメータ:
externalBinding - 外部バインディングを有効にする場合true


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