org.seasar.framework.container.creator
クラス ComponentCreatorImpl

java.lang.Object
  拡張org.seasar.framework.container.creator.ComponentCreatorImpl
すべての実装インタフェース:
ComponentCreator
直系の既知のサブクラス:
ActionCreator, ConverterCreator, DaoCreator, DtoCreator, DxoCreator, HelperCreator, InterceptorCreator, LogicCreator, PageCreator, ServiceCreator, ValidatorCreator

public class ComponentCreatorImpl
extends java.lang.Object
implements ComponentCreator

ComponentCreatorの汎用的な実装です。

このクラスによって作られるコンポーネント定義に含めるインスタンス定義自動バインディング定義外部バインディングの有効/無効が設定できます。 インターフェースや抽象クラスをコンポーネント定義作成の対象とする場合、 AOP(AspectCustomzier)で実装クラスが作られるようにする必要があります。

このクラスがコンポーネント定義を作成するべきかどうかは、 コンポーネント名のサフィックスで判断しています。 コンポーネント名がsetNameSuffix(String)で設定したサフィックスに該当した場合のみ、 コンポーネント定義を作成します。

作成者:
higa, jundu

フィールドの概要
static java.lang.String autoBindingDef_BINDING
          プロパティautoBindingDefのためのBindingアノテーションの定義です。
static java.lang.String enableAbstract_BINDING
          プロパティenableAbstractのためのBindingアノテーションの定義です。
static java.lang.String enableInterface_BINDING
          プロパティenableInterfaceのためのBindingアノテーションの定義です。
static java.lang.String externalBinding_BINDING
          プロパティexternalBindingのためのBindingアノテーションの定義です。
static java.lang.String instanceDef_BINDING
          プロパティinstanceDefのためのBindingアノテーションの定義です。
 
コンストラクタの概要
ComponentCreatorImpl(NamingConvention namingConvention)
          指定された命名規約に従ったComponentCreatorImplを構築します。
 
メソッドの概要
 ComponentDef createComponentDef(java.lang.Class componentClass)
          指定されたクラスから、 命名規約に従ってコンポーネント定義を作成します。
 ComponentDef createComponentDef(java.lang.String componentName)
          指定されたコンポーネント名から、 命名規約に従ってコンポーネント定義を作成します。
protected  void customize(ComponentDef componentDef)
          指定されたコンポーネント定義を、 コンポーネント定義カスタマイザを使ってカスタマイズします。
 AutoBindingDef getAutoBindingDef()
          自動バインディング定義を返します。
protected  ComponentCustomizer getCustomizer()
          コンポーネント定義カスタマイザを返します。
 InstanceDef getInstanceDef()
          インスタンス定義を返します。
 java.lang.String getNameSuffix()
          コンポーネント名のサフィックスを返します。
 NamingConvention getNamingConvention()
          命名規約を返します。
 boolean isEnableAbstract()
          抽象クラスを対象にするかどうかを返します。
 boolean isEnableInterface()
          インターフェースを対象にするかどうかを返します。
 boolean isExternalBinding()
          外部バインディングが有効かどうかを返します。
 boolean isTargetComponentName(java.lang.String componentName)
          指定されたコンポーネント名が、 対象となるコンポーネント名かどうかを返します。
 void setAutoBindingDef(AutoBindingDef autoBindingDef)
          自動バインディング定義を設定します。
protected  void setCustomizer(ComponentCustomizer customizer)
          コンポーネント定義カスタマイザを設定します。
 void setEnableAbstract(boolean enableAbstract)
          抽象クラスを対象にするかどうかを設定します。
 void setEnableInterface(boolean enableInterface)
          インターフェースを対象にするかどうかを設定します。
 void setExternalBinding(boolean externalBinding)
          外外部バインディングを有効にするかどうかを設定します。
 void setInstanceDef(InstanceDef instanceDef)
          インスタンス定義を設定します。
 void setNameSuffix(java.lang.String nameSuffix)
          コンポーネント名のサフィックスを設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

instanceDef_BINDING

public static final java.lang.String instanceDef_BINDING
プロパティinstanceDefのためのBindingアノテーションの定義です。

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

autoBindingDef_BINDING

public static final java.lang.String autoBindingDef_BINDING
プロパティautoBindingDefのためのBindingアノテーションの定義です。

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

externalBinding_BINDING

public static final java.lang.String externalBinding_BINDING
プロパティexternalBindingのためのBindingアノテーションの定義です。

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

enableInterface_BINDING

public static final java.lang.String enableInterface_BINDING
プロパティenableInterfaceのためのBindingアノテーションの定義です。

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

enableAbstract_BINDING

public static final java.lang.String enableAbstract_BINDING
プロパティenableAbstractのためのBindingアノテーションの定義です。

関連項目:
定数フィールド値
コンストラクタの詳細

ComponentCreatorImpl

public ComponentCreatorImpl(NamingConvention namingConvention)
指定された命名規約に従ったComponentCreatorImplを構築します。

パラメータ:
namingConvention - 命名規約
メソッドの詳細

getNamingConvention

public NamingConvention getNamingConvention()
命名規約を返します。

戻り値:
命名規約

getInstanceDef

public InstanceDef getInstanceDef()
インスタンス定義を返します。

戻り値:
インスタンス定義

setInstanceDef

public void setInstanceDef(InstanceDef instanceDef)
インスタンス定義を設定します。

パラメータ:
instanceDef - インスタンス定義

getAutoBindingDef

public AutoBindingDef getAutoBindingDef()
自動バインディング定義を返します。

戻り値:
自動バインディング定義

setAutoBindingDef

public void setAutoBindingDef(AutoBindingDef autoBindingDef)
自動バインディング定義を設定します。

パラメータ:
autoBindingDef - 自動バインディング定義

isExternalBinding

public boolean isExternalBinding()
外部バインディングが有効かどうかを返します。

戻り値:
外部バインディングが有効な場合true、 それ以外の場合falseを返す

setExternalBinding

public void setExternalBinding(boolean externalBinding)
外部バインディングを有効にするかどうかを設定します。

パラメータ:
externalBinding - 外部バインディングを有効にする場合はtrue、 それ以外の場合falseを指定する

isEnableInterface

public boolean isEnableInterface()
インターフェースを対象にするかどうかを返します。

戻り値:
インターフェースを対象にする場合true、 それ以外の場合falseを返す

setEnableInterface

public void setEnableInterface(boolean enableInterface)
インターフェースを対象にするかどうかを設定します。

パラメータ:
enableInterface - インターフェースを対象にする場合true、 それ以外の場合falseを指定する

isEnableAbstract

public boolean isEnableAbstract()
抽象クラスを対象にするかどうかを返します。

戻り値:
抽象クラスを対象にする場合true、 それ以外の場合falseを返す

setEnableAbstract

public void setEnableAbstract(boolean enableAbstract)
抽象クラスを対象にするかどうかを設定します。

パラメータ:
enableAbstract - 抽象クラスを対象とする場合true、 それ以外の場合falseを指定する

getNameSuffix

public java.lang.String getNameSuffix()
コンポーネント名のサフィックスを返します。

戻り値:
名前のサフィックス

setNameSuffix

public void setNameSuffix(java.lang.String nameSuffix)
コンポーネント名のサフィックスを設定します。

パラメータ:
nameSuffix - 名前のサフィックス

getCustomizer

protected ComponentCustomizer getCustomizer()
コンポーネント定義カスタマイザを返します。

戻り値:
コンポーネント定義カスタマイザ

setCustomizer

protected void setCustomizer(ComponentCustomizer customizer)
コンポーネント定義カスタマイザを設定します。

パラメータ:
customizer - コンポーネント定義カスタマイザ

createComponentDef

public ComponentDef createComponentDef(java.lang.Class componentClass)
インタフェース ComponentCreator の記述:
指定されたクラスから、 命名規約に従ってコンポーネント定義を作成します。

定義:
インタフェース ComponentCreator 内の createComponentDef
パラメータ:
componentClass - コンポーネント定義を作成する対象のクラス
戻り値:
作成されたコンポーネント定義。 指定されたクラスがこのCreatorの対象でなかった場合は、 nullを返す

createComponentDef

public ComponentDef createComponentDef(java.lang.String componentName)
インタフェース ComponentCreator の記述:
指定されたコンポーネント名から、 命名規約に従ってコンポーネント定義を作成します。

定義:
インタフェース ComponentCreator 内の createComponentDef
パラメータ:
componentName - コンポーネント定義を作成する対象のコンポーネント名
戻り値:
作成されたコンポーネント定義。 指定されたクラスがこのCreatorの対象でなかった場合、 またはコンポーネント名に対応するクラスが存在しなかった場合は、 nullを返す
関連項目:
NamingConvention.fromComponentNameToClass(String)

isTargetComponentName

public boolean isTargetComponentName(java.lang.String componentName)
指定されたコンポーネント名が、 対象となるコンポーネント名かどうかを返します。

パラメータ:
componentName - コンポーネント名
戻り値:
対象となるコンポーネント名の場合true、 それ以外の場合false

customize

protected void customize(ComponentDef componentDef)
指定されたコンポーネント定義を、 コンポーネント定義カスタマイザを使ってカスタマイズします。

パラメータ:
componentDef - コンポーネント定義


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