org.seasar.framework.container.factory
クラス AbstractAnnotationHandler

java.lang.Object
  拡張org.seasar.framework.container.factory.AbstractAnnotationHandler
すべての実装インタフェース:
AnnotationHandler
直系の既知のサブクラス:
ConstantAnnotationHandler

public abstract class AbstractAnnotationHandler
extends java.lang.Object
implements AnnotationHandler

AnnotationHandlerの抽象クラスです。

このクラスでは、主にクラス、メソッド、フィールドに書かれたアノーテションを取得します。 アノーテションから、コンポーネントに対しての各定義の作成はサブクラスで行います。

作成者:
vestige

フィールドの概要
protected static java.lang.String ASPECT
          ASPECTアノテーションを表す定数名です。
protected static java.lang.String AUTO_BINDING
          COMPONENTアノテーションのautoBinding属性「自動バインディング定義」を表すキーです。
protected static java.lang.String BINDING_SUFFIX
          Bindingアノテーションとして識別するための定数です。
protected static java.lang.String BINDING_TYPE
          BindingアノテーションのbindingType属性「バインディングタイプ」を表すキーです。
protected static java.lang.String COMPONENT
          COMPONENTアノテーションを表す定数名です。
protected static java.lang.String DESTROY_METHOD
          DestroyMethodアノテーションを表す定数名です。
protected static java.lang.String EXTERNAL_BINDING
          COMPONENTアノテーションのexternalBinding属性「外部バインディング定義」を表すキーです。
protected static java.lang.String INIT_METHOD
          InitMethodアノテーションを表す定数名です。
protected static java.lang.String INSTANCE
          COMPONENTアノテーションのinstance属性「インスタンス定義」を表すキーです。
protected static java.lang.String INTER_TYPE
          InterTypeアノテーションを表す定数名です。
protected static java.lang.String INTERCEPTOR
          ASPECTアノテーションのinterceptor属性「インターセプター定義」を表すキーです。
protected static java.lang.String NAME
          COMPONENTアノテーションのname属性「コンポーネント名」を表すキーです。
protected static java.lang.String POINTCUT
          ASPECTアノテーションのpointcut属性「ポイントカット定義」を表すキーです。
protected static java.lang.String VALUE
          各アノテーション内のvalue属性「VALUE」を表すキーです。
 
コンストラクタの概要
AbstractAnnotationHandler()
           
 
メソッドの概要
 void appendDI(ComponentDef componentDef)
          コンポーネント定義にプロパティ定義を追加します。
 ComponentDef createComponentDef(java.lang.Class componentClass, InstanceDef instanceDef)
          コンポーネント名、インスタンス定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(java.lang.Class componentClass, InstanceDef instanceDef, AutoBindingDef autoBindingDef)
          コンポーネントクラス、インスタンス定義、自動バインディング定義を指定してコンポーネント定義を作成します。
protected  ComponentDef createComponentDef(java.lang.Class componentClass, java.lang.String name, InstanceDef instanceDef, AutoBindingDef autoBindingDef, boolean externalBinding)
          指定したコンポーネントクラスからコンポーネント定義を作成します。
 ComponentDef createComponentDef(java.lang.String className, InstanceDef instanceDef)
          クラス名、インスタンス定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(java.lang.String className, InstanceDef instanceDef, AutoBindingDef autoBindingDef)
          クラス名、インスタンス定義、自動バインディング定義を指定してコンポーネント定義を作成します。
 ComponentDef createComponentDef(java.lang.String className, InstanceDef instanceDef, AutoBindingDef autoBindingDef, boolean externalBinding)
          クラス名、インスタンス定義、自動バインディング定義、外部バインディングの有無を指定してコンポーネント定義を作成します。
protected  PropertyDef createPropertyDef(java.lang.String propertyName, java.lang.String expression, java.lang.String bindingTypeName, java.lang.String accessTypeName)
          プロパティ定義を作成します。
protected  AutoBindingDef getAutoBindingDef(java.lang.String name)
          自動バインディング定義を返します。
protected  InstanceDef getInstanceDef(java.lang.String name)
          インスタンス定義を返します。
protected  InstanceDef getInstanceDef(java.lang.String name, InstanceDef defaultInstanceDef)
          インスタンス定義を返します。
 boolean isDestroyMethodRegisterable(ComponentDef cd, java.lang.String methodName)
          コンポーネント定義にdestroyメソッドが追加可能かどうかを返します。
protected  boolean isFieldInjectionTarget(java.lang.reflect.Field field)
          指定したフィールドがインジェクション可能かどうかの判定を行います。
 boolean isInitMethodRegisterable(ComponentDef cd, java.lang.String methodName)
          コンポーネント定義に初期化メソッドが追加可能かどうかを返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.seasar.framework.container.factory.AnnotationHandler から継承したメソッド
appendAspect, appendDestroyMethod, appendInitMethod, appendInterType, createComponentDef, createPropertyDef, createPropertyDef
 

フィールドの詳細

COMPONENT

protected static final java.lang.String COMPONENT
COMPONENTアノテーションを表す定数名です。

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

NAME

protected static final java.lang.String NAME
COMPONENTアノテーションのname属性「コンポーネント名」を表すキーです。

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

INSTANCE

protected static final java.lang.String INSTANCE
COMPONENTアノテーションのinstance属性「インスタンス定義」を表すキーです。

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

AUTO_BINDING

protected static final java.lang.String AUTO_BINDING
COMPONENTアノテーションのautoBinding属性「自動バインディング定義」を表すキーです。

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

BINDING_SUFFIX

protected static final java.lang.String BINDING_SUFFIX
Bindingアノテーションとして識別するための定数です。

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

BINDING_TYPE

protected static final java.lang.String BINDING_TYPE
BindingアノテーションのbindingType属性「バインディングタイプ」を表すキーです。

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

EXTERNAL_BINDING

protected static final java.lang.String EXTERNAL_BINDING
COMPONENTアノテーションのexternalBinding属性「外部バインディング定義」を表すキーです。

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

VALUE

protected static final java.lang.String VALUE
各アノテーション内のvalue属性「VALUE」を表すキーです。

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

ASPECT

protected static final java.lang.String ASPECT
ASPECTアノテーションを表す定数名です。

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

INTER_TYPE

protected static final java.lang.String INTER_TYPE
InterTypeアノテーションを表す定数名です。

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

INIT_METHOD

protected static final java.lang.String INIT_METHOD
InitMethodアノテーションを表す定数名です。

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

DESTROY_METHOD

protected static final java.lang.String DESTROY_METHOD
DestroyMethodアノテーションを表す定数名です。

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

INTERCEPTOR

protected static final java.lang.String INTERCEPTOR
ASPECTアノテーションのinterceptor属性「インターセプター定義」を表すキーです。

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

POINTCUT

protected static final java.lang.String POINTCUT
ASPECTアノテーションのpointcut属性「ポイントカット定義」を表すキーです。

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

AbstractAnnotationHandler

public AbstractAnnotationHandler()
メソッドの詳細

createComponentDef

public ComponentDef createComponentDef(java.lang.String className,
                                       InstanceDef instanceDef)
インタフェース AnnotationHandler の記述:
クラス名、インスタンス定義を指定してコンポーネント定義を作成します。

定義:
インタフェース AnnotationHandler 内の createComponentDef
パラメータ:
className - クラス名
instanceDef - インスタンス定義
戻り値:
コンポーネント定義

createComponentDef

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

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

createComponentDef

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

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

createComponentDef

public ComponentDef createComponentDef(java.lang.Class componentClass,
                                       InstanceDef instanceDef)
インタフェース AnnotationHandler の記述:
コンポーネント名、インスタンス定義を指定してコンポーネント定義を作成します。

定義:
インタフェース AnnotationHandler 内の createComponentDef
パラメータ:
componentClass - コンポーネントクラス
instanceDef - インスタンス定義
戻り値:
コンポーネント定義

createComponentDef

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

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

appendDI

public void appendDI(ComponentDef componentDef)
インタフェース AnnotationHandler の記述:
コンポーネント定義にプロパティ定義を追加します。

定義:
インタフェース AnnotationHandler 内の appendDI
パラメータ:
componentDef - コンポーネント定義

getInstanceDef

protected InstanceDef getInstanceDef(java.lang.String name,
                                     InstanceDef defaultInstanceDef)
インスタンス定義を返します。

指定した名前のインスタンス定義が存在しない場合、デフォルトのインスタンス定義を返します。

パラメータ:
name - インスタンス定義の種類
defaultInstanceDef - デフォルトのインスタンス定義(singleton)
戻り値:
インスタンス定義

getInstanceDef

protected InstanceDef getInstanceDef(java.lang.String name)
インスタンス定義を返します。

パラメータ:
name - インスタンス定義の種類
戻り値:
インスタンス定義

getAutoBindingDef

protected AutoBindingDef getAutoBindingDef(java.lang.String name)
自動バインディング定義を返します。

パラメータ:
name - 自動バインディング定義の種類
戻り値:
自動バインディング定義

createComponentDef

protected ComponentDef createComponentDef(java.lang.Class componentClass,
                                          java.lang.String name,
                                          InstanceDef instanceDef,
                                          AutoBindingDef autoBindingDef,
                                          boolean externalBinding)
指定したコンポーネントクラスからコンポーネント定義を作成します。

以下の設定がある場合はおのおのコンポーネント定義に設定します。

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

createPropertyDef

protected PropertyDef createPropertyDef(java.lang.String propertyName,
                                        java.lang.String expression,
                                        java.lang.String bindingTypeName,
                                        java.lang.String accessTypeName)
プロパティ定義を作成します。

パラメータ:
propertyName - プロパティ名
expression - 引数定義の値となる式
bindingTypeName - バインディングタイプ定義
accessTypeName - アクセスタイプ定義
戻り値:
プロパティ定義

isInitMethodRegisterable

public boolean isInitMethodRegisterable(ComponentDef cd,
                                        java.lang.String methodName)
インタフェース AnnotationHandler の記述:
コンポーネント定義に初期化メソッドが追加可能かどうかを返します。

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

isDestroyMethodRegisterable

public boolean isDestroyMethodRegisterable(ComponentDef cd,
                                           java.lang.String methodName)
インタフェース AnnotationHandler の記述:
コンポーネント定義にdestroyメソッドが追加可能かどうかを返します。

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

isFieldInjectionTarget

protected boolean isFieldInjectionTarget(java.lang.reflect.Field field)
指定したフィールドがインジェクション可能かどうかの判定を行います。

staticまたは、finalでない場合はインジェクションが可能になります。

パラメータ:
field - フィールド
戻り値:
フィールドがstaticfinalでない場合はtrue、そうでない場合はfalseを返す。


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