org.seasar.framework.container.factory.aspect
クラス MetaAnnotationAspectDefBuilder

java.lang.Object
  上位を拡張 org.seasar.framework.container.factory.aspect.AbstractAspectDefBuilder
      上位を拡張 org.seasar.framework.container.factory.aspect.MetaAnnotationAspectDefBuilder
すべての実装されたインタフェース:
AspectDefBuilder

public class MetaAnnotationAspectDefBuilder
extends AbstractAspectDefBuilder

メタアノテーションで注釈されたアノテーションを読み取りAspectDefを作成するコンポーネントの実装クラスです。

作成者:
koichik

入れ子のクラスの概要
 class MetaAnnotationAspectDefBuilder.ExpressionImpl
          評価されると指定されたアノテーションで指定された名前のコンポーネント (インターセプタ) をコンテナから取得して返すExpressionの実装です。
 
フィールドの概要
protected  java.lang.String interceptorNamespace
          インターセプタの名前空間
protected  java.lang.String interceptorSuffix
          インターセプタの接尾辞
protected  java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType
          メタアノテーションの型
 
コンストラクタの概要
MetaAnnotationAspectDefBuilder()
          インスタンスを構築します。
MetaAnnotationAspectDefBuilder(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType, java.lang.String interceptorSuffix)
          インスタンスを構築します。
MetaAnnotationAspectDefBuilder(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType, java.lang.String interceptorNamespace, java.lang.String interceptorSuffix)
          インスタンスを構築します。
 
メソッドの概要
 void appendAspectDef(AnnotationHandler annotationHandler, ComponentDef componentDef)
          コンポーネントからTigerアノテーションを読み取りAspectDefを作成し、コンポーネント定義に追加します。
protected  java.lang.String getInterceptorName(java.lang.annotation.Annotation annotation)
          アノテーションに指定されているインターセプタのコンポーネント名を返します。
 java.lang.String getInterceptorNamespace()
          インターセプタの名前空間を返します。
 java.lang.String getInterceptorSuffix()
          インターセプタの接尾辞を返します。
 java.lang.Class<? extends java.lang.annotation.Annotation> getMetaAnnotationType()
          メタアノテーションの型を返します。
protected  java.lang.String getPointcut(java.lang.annotation.Annotation annotation)
          アノテーションに指定されているポイントカットを返します。
protected  void processClass(ComponentDef componentDef, java.lang.Class<?> componentClass)
          クラスに付けられたメタアノテーションで注釈されたアノテーションを読み取りアスペクト定義を作成してコンポーネント定義に追加します。
protected  void processMethod(ComponentDef componentDef, java.lang.Class<?> componentClass)
          メソッドに付けられたメタアノテーションで注釈されたアノテーションを読み取りアスペクト定義を作成してコンポーネント定義に追加します。
 void setInterceptorNamespace(java.lang.String interceptorNamespace)
          インターセプタの名前空間を設定します。
 void setInterceptorSuffix(java.lang.String interceptorSuffix)
          インターセプタの接尾辞を設定します。
 void setMetaAnnotationType(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType)
          メタアノテーションの型を設定します。
 
クラス org.seasar.framework.container.factory.aspect.AbstractAspectDefBuilder から継承されたメソッド
appendAspect, appendAspect
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

metaAnnotationType

protected java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType
メタアノテーションの型


interceptorNamespace

protected java.lang.String interceptorNamespace
インターセプタの名前空間


interceptorSuffix

protected java.lang.String interceptorSuffix
インターセプタの接尾辞

コンストラクタの詳細

MetaAnnotationAspectDefBuilder

public MetaAnnotationAspectDefBuilder()
インスタンスを構築します。


MetaAnnotationAspectDefBuilder

public MetaAnnotationAspectDefBuilder(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType,
                                      java.lang.String interceptorSuffix)
インスタンスを構築します。

パラメータ:
metaAnnotationType - メタアノテーションの型
interceptorSuffix - インターセプタの接尾辞

MetaAnnotationAspectDefBuilder

public MetaAnnotationAspectDefBuilder(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType,
                                      java.lang.String interceptorNamespace,
                                      java.lang.String interceptorSuffix)
インスタンスを構築します。

パラメータ:
metaAnnotationType - メタアノテーションの型
interceptorNamespace - インターセプタの名前空間
interceptorSuffix - インターセプタの接尾辞
メソッドの詳細

getMetaAnnotationType

public java.lang.Class<? extends java.lang.annotation.Annotation> getMetaAnnotationType()
メタアノテーションの型を返します。

戻り値:
メタアノテーションの型

setMetaAnnotationType

public void setMetaAnnotationType(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType)
メタアノテーションの型を設定します。

パラメータ:
metaAnnotationType - メタアノテーションの型

getInterceptorNamespace

public java.lang.String getInterceptorNamespace()
インターセプタの名前空間を返します。

戻り値:
インターセプタの名前空間

setInterceptorNamespace

public void setInterceptorNamespace(java.lang.String interceptorNamespace)
インターセプタの名前空間を設定します。

パラメータ:
interceptorNamespace - インターセプタの名前空間

getInterceptorSuffix

public java.lang.String getInterceptorSuffix()
インターセプタの接尾辞を返します。

戻り値:
インターセプタの接尾辞

setInterceptorSuffix

public void setInterceptorSuffix(java.lang.String interceptorSuffix)
インターセプタの接尾辞を設定します。

パラメータ:
interceptorSuffix - インターセプタの接尾辞

appendAspectDef

public void appendAspectDef(AnnotationHandler annotationHandler,
                            ComponentDef componentDef)
インタフェース AspectDefBuilder の記述:
コンポーネントからTigerアノテーションを読み取りAspectDefを作成し、コンポーネント定義に追加します。

パラメータ:
annotationHandler - このメソッドを呼び出しているアノテーションハンドラ
componentDef - コンポーネント定義

processClass

protected void processClass(ComponentDef componentDef,
                            java.lang.Class<?> componentClass)
クラスに付けられたメタアノテーションで注釈されたアノテーションを読み取りアスペクト定義を作成してコンポーネント定義に追加します。

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

processMethod

protected void processMethod(ComponentDef componentDef,
                             java.lang.Class<?> componentClass)
メソッドに付けられたメタアノテーションで注釈されたアノテーションを読み取りアスペクト定義を作成してコンポーネント定義に追加します。

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

getPointcut

protected java.lang.String getPointcut(java.lang.annotation.Annotation annotation)
アノテーションに指定されているポイントカットを返します。

パラメータ:
annotation - アノテーション
戻り値:
アノテーションに指定されているポイントカット

getInterceptorName

protected java.lang.String getInterceptorName(java.lang.annotation.Annotation annotation)
アノテーションに指定されているインターセプタのコンポーネント名を返します。

パラメータ:
annotation - アノテーション
戻り値:
インターセプタのコンポーネント名


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