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

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

public interface AnnotationHandler

クラスに指定されたアノテーションからコンポーネント定義を作成するためのインターフェースです。

このアノテーションにより、コンポーネント名やインスタンス属性, プロパティやアスペクト,初期化メソッド等の設定が可能です。

指定されるの定義の優先度について。
以下の順によって指定された定義が上書きされます。注意してください。

作成者:
vestige

メソッドの概要
 void appendAspect(ComponentDef componentDef)
          コンポーネント定義にアスペクト定義を追加します。
 void appendDestroyMethod(ComponentDef componentDef)
          コンポーネント定義にdestroyMethodを追加します。
 void appendDI(ComponentDef componentDef)
          コンポーネント定義にプロパティ定義を追加します。
 void appendInitMethod(ComponentDef componentDef)
          コンポーネント定義に初期化メソッドを追加します。
 void appendInterType(ComponentDef componentDef)
          コンポーネント定義にインタータイプ定義を追加します。
 ComponentDef createComponentDef(Class componentClass, InstanceDef instanceDef)
          コンポーネント名、インスタンス定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(Class componentClass, InstanceDef instanceDef, AutoBindingDef autoBindingDef)
          コンポーネントクラス、インスタンス定義、自動バインディング定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(Class componentClass, InstanceDef instanceDef, AutoBindingDef autoBindingDef, boolean externalBinding)
          コンポーネントクラス、インスタンス定義、自動バインディング定義、外部バインディングを指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(String className, InstanceDef instanceDef)
          クラス名、インスタンス定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(String className, InstanceDef instanceDef, AutoBindingDef autoBindingDef)
          クラス名、インスタンス定義、自動バインディング定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(String className, InstanceDef instanceDef, AutoBindingDef autoBindingDef, boolean externalBinding)
          クラス名、インスタンス定義、自動バインディング定義、外部バインディングの有無を指定してコンポーネント定義を作成します。
 PropertyDef createPropertyDef(BeanDesc beanDesc, Field field)
          フィールドを指定してコンポーネント定義に追加するプロパティ定義を作成します。
 PropertyDef createPropertyDef(BeanDesc beanDesc, PropertyDesc propertyDesc)
          プロパティ名を指定してコンポーネント定義に追加するプロパティ定義を作成します。
 boolean isDestroyMethodRegisterable(ComponentDef cd, String methodName)
          コンポーネント定義にdestroyメソッドが追加可能かどうかを返します。
 boolean isInitMethodRegisterable(ComponentDef cd, String methodName)
          コンポーネント定義に初期化メソッドが追加可能かどうかを返します。
 

メソッドの詳細

createComponentDef

public ComponentDef createComponentDef(String className,
                                       InstanceDef instanceDef)
クラス名、インスタンス定義を指定してコンポーネント定義を作成します。

パラメータ:
className - クラス名
instanceDef - インスタンス定義
戻り値:
コンポーネント定義

createComponentDef

public ComponentDef createComponentDef(String className,
                                       InstanceDef instanceDef,
                                       AutoBindingDef autoBindingDef)
クラス名、インスタンス定義、自動バインディング定義を指定してコンポーネント定義を作成します。

パラメータ:
className - クラス名
instanceDef - インスタンス定義
autoBindingDef - 自動バインディング定義
戻り値:
コンポーネント定義

createComponentDef

public ComponentDef createComponentDef(String className,
                                       InstanceDef instanceDef,
                                       AutoBindingDef autoBindingDef,
                                       boolean externalBinding)
クラス名、インスタンス定義、自動バインディング定義、外部バインディングの有無を指定してコンポーネント定義を作成します。

パラメータ:
className - クラス名
instanceDef - インスタンス定義
autoBindingDef - 自動バインディング定義
externalBinding - 外部バインディングの有無
戻り値:
コンポーネント定義

createComponentDef

public ComponentDef createComponentDef(Class componentClass,
                                       InstanceDef instanceDef)
コンポーネント名、インスタンス定義を指定してコンポーネント定義を作成します。

パラメータ:
componentClass - コンポーネントクラス
instanceDef - インスタンス定義
戻り値:
コンポーネント定義

createComponentDef

public ComponentDef createComponentDef(Class componentClass,
                                       InstanceDef instanceDef,
                                       AutoBindingDef autoBindingDef)
コンポーネントクラス、インスタンス定義、自動バインディング定義を指定してコンポーネント定義を作成します。

パラメータ:
componentClass - コンポーネントクラス
instanceDef - インスタンス定義
autoBindingDef - 自動バインディング定義
戻り値:
コンポーネント定義

createComponentDef

public ComponentDef createComponentDef(Class componentClass,
                                       InstanceDef instanceDef,
                                       AutoBindingDef autoBindingDef,
                                       boolean externalBinding)
コンポーネントクラス、インスタンス定義、自動バインディング定義、外部バインディングを指定してコンポーネント定義を作成します。

パラメータ:
componentClass - コンポーネントクラス
instanceDef - インスタンス定義
autoBindingDef - 自動バインディング定義
externalBinding - 外部バインディング
戻り値:
コンポーネント定義

appendDI

public void appendDI(ComponentDef componentDef)
コンポーネント定義にプロパティ定義を追加します。

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

appendAspect

public void appendAspect(ComponentDef componentDef)
コンポーネント定義にアスペクト定義を追加します。

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

appendInterType

public void appendInterType(ComponentDef componentDef)
コンポーネント定義にインタータイプ定義を追加します。

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

appendInitMethod

public void appendInitMethod(ComponentDef componentDef)
コンポーネント定義に初期化メソッドを追加します。

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

isInitMethodRegisterable

public boolean isInitMethodRegisterable(ComponentDef cd,
                                        String methodName)
コンポーネント定義に初期化メソッドが追加可能かどうかを返します。

パラメータ:
cd - コンポーネント定義
methodName - 初期化の対象にするメソッド名
戻り値:
初期化メソッドとして追加可能な場合、true、そうでない場合はfalseを返す。

appendDestroyMethod

public void appendDestroyMethod(ComponentDef componentDef)
コンポーネント定義にdestroyMethodを追加します。

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

isDestroyMethodRegisterable

public boolean isDestroyMethodRegisterable(ComponentDef cd,
                                           String methodName)
コンポーネント定義にdestroyメソッドが追加可能かどうかを返します。

パラメータ:
cd - コンポーネント定義
methodName - 初期化の対象にするメソッド名
戻り値:
destroyMethodとして追加可能な場合、true、そうでない場合はfalseを返す。

createPropertyDef

public PropertyDef createPropertyDef(BeanDesc beanDesc,
                                     PropertyDesc propertyDesc)
プロパティ名を指定してコンポーネント定義に追加するプロパティ定義を作成します。

パラメータ:
beanDesc - プロパティに追加するBean名。
propertyDesc - プロパティ名
戻り値:
プロパティ定義

createPropertyDef

public PropertyDef createPropertyDef(BeanDesc beanDesc,
                                     Field field)
フィールドを指定してコンポーネント定義に追加するプロパティ定義を作成します。

パラメータ:
beanDesc - プロパティに追加するBean名。
field - フィールド名
戻り値:
プロパティ定義


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