FlatServe AOP Plugin
0.3

com.small_it_office.flatserve.aop
クラス AspectConfig

java.lang.Object
  上位を拡張 com.small_it_office.flatserve.aop.AspectConfig

public class AspectConfig
extends java.lang.Object

アスペクトの定義を保持するクラスです。 このクラスのインスタンスをConfig.addOptionalConfig(Object)メソッドで Configオブジェクトに格納することで、アスペクトの定義が有効になります。

アスペクトの定義は、オーバーロードされたaddAspectメソッドを使って追加します。 HTTPサービスメソッドに対して適用されるインターセプタは、定義が追加された順番どおりに実行されます。

addAspectメソッドでアスペクトに組み込むことができるインターセプタは、 AOP alliance仕様で定義されるorg.aopalliance.intercept.MethodInterceptor および、HttpServiceMethodInterceptorの実装クラスです。

org.aopalliance.intercept.MethodInterceptorインターフェースを実装したクラスをインターセプタとすることで、 このインターセプタの実装をFlatServe以外のAOP Alliance準拠のフレームワークで再利用することができます。 また、逆に、他のフレームワーク用に作成されたorg.aopalliance.intercept.MethodInterceptorインターフェースの実装クラスを、 FlatServe AOP Pluginで再利用することも可能です。

HttpServiceMethodInterceptorは、AOP Alliance準拠ではありませんが、利用方法はMethodInterceptorとほぼ同等です。 MethodInterceptorと互換性はなくなりますが、サーブレットやFlatServe特有のオブジェクトを扱うことができるメリットが あります。

関連項目:
Config, AOP alliance

コンストラクタの概要
AspectConfig()
          コンストラクタ。
 
メソッドの概要
 void addAspect(HttpServiceMethodInterceptor interceptor)
          アスペクトの定義を追加します。
 void addAspect(HttpServiceMethodInterceptor interceptor, java.lang.Class<?> targetServiceClass)
          アスペクトの定義を追加します。
 void addAspect(HttpServiceMethodInterceptor interceptor, java.lang.String targetPackage)
          アスペクトの定義を追加します。
 void addAspect(org.aopalliance.intercept.MethodInterceptor interceptor)
          アスペクトの定義を追加します。
 void addAspect(org.aopalliance.intercept.MethodInterceptor interceptor, java.lang.Class<?> targetServiceClass)
          アスペクトの定義を追加します。
 void addAspect(org.aopalliance.intercept.MethodInterceptor interceptor, java.lang.String targetPackage)
          アスペクトの定義を追加します。
 void addAspectWithAnnotation(HttpServiceMethodInterceptor interceptor, java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
          アスペクトの定義を追加します。
 void addAspectWithAnnotation(org.aopalliance.intercept.MethodInterceptor interceptor, java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
          アスペクトの定義を追加します。
 java.util.List<com.small_it_office.flatserve.aop.internal.Aspect> getAspectList()
          定義されたアスペクトのリストを返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AspectConfig

public AspectConfig()
コンストラクタ。

メソッドの詳細

addAspect

public void addAspect(org.aopalliance.intercept.MethodInterceptor interceptor)
アスペクトの定義を追加します。 このメソッドの引数で指定したインターセプタは、すべてのHTTPサービスメソッドに対して適用されます。

パラメータ:
interceptor - AOP alliance仕様にしたがうインターセプタ

addAspect

public void addAspect(org.aopalliance.intercept.MethodInterceptor interceptor,
                      java.lang.Class<?> targetServiceClass)
アスペクトの定義を追加します。 targetServiceClass引数で指定したHTTPサービスクラスを実行する場合のみ、指定したインターセプタが適用されます。

パラメータ:
interceptor - AOP alliance仕様にしたがうインターセプタ
targetServiceClass - 適用可能なHTTPサービスクラス

addAspect

public void addAspect(org.aopalliance.intercept.MethodInterceptor interceptor,
                      java.lang.String targetPackage)
アスペクトの定義を追加します。 targetPackage引数で指定したパッケージに属するHTTPサービスクラスを実行する場合のみ、指定したインターセプタが適用されます。 指定したパッケージのサブパッケージのHTTPサービスクラスには適用されません。

パラメータ:
interceptor - AOP alliance仕様にしたがうインターセプタ
targetPackage - 適用可能なHTTPサービスクラスのパッケージ

addAspectWithAnnotation

public void addAspectWithAnnotation(org.aopalliance.intercept.MethodInterceptor interceptor,
                                    java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
アスペクトの定義を追加します。 annotation引数で指定したアノテーションがHTTPサービスクラスに付与されている場合のみ、 指定したインターセプタが適用されます。

パラメータ:
interceptor - AOP alliance仕様にしたがうインターセプタ
annotation - インターセプタを適用するHTTPサービスクラスに付与すべきアノテーション

addAspect

public void addAspect(HttpServiceMethodInterceptor interceptor)
アスペクトの定義を追加します。 このメソッドの引数で指定したインターセプタは、すべてのHTTPサービスメソッドに対して適用されます。

パラメータ:
interceptor - HTTPサービスメソッド専用のインターセプタ

addAspect

public void addAspect(HttpServiceMethodInterceptor interceptor,
                      java.lang.Class<?> targetServiceClass)
アスペクトの定義を追加します。 targetServiceClass引数で指定したHTTPサービスクラスを実行する場合のみ、指定したインターセプタが適用されます。

パラメータ:
interceptor - HTTPサービスメソッド専用のインターセプタ
targetServiceClass - 適用可能なHTTPサービスクラス

addAspect

public void addAspect(HttpServiceMethodInterceptor interceptor,
                      java.lang.String targetPackage)
アスペクトの定義を追加します。 targetPackage引数で指定したパッケージに属するHTTPサービスクラスを実行する場合のみ、指定したインターセプタが適用されます。 指定したパッケージのサブパッケージのHTTPサービスクラスには適用されません。

パラメータ:
interceptor - HTTPサービスメソッド専用のインターセプタ
targetPackage - 適用可能なHTTPサービスクラスのパッケージ

addAspectWithAnnotation

public void addAspectWithAnnotation(HttpServiceMethodInterceptor interceptor,
                                    java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
アスペクトの定義を追加します。 annotation引数で指定したアノテーションがHTTPサービスクラスに付与されている場合のみ、 指定したインターセプタが適用されます。

パラメータ:
interceptor - TTPサービスメソッド専用のインターセプタ
annotation - インターセプタを適用するHTTPサービスクラスに付与すべきアノテーション

getAspectList

public java.util.List<com.small_it_office.flatserve.aop.internal.Aspect> getAspectList()
定義されたアスペクトのリストを返します。

戻り値:
アスペクトのリスト

FlatServe AOP Plugin
0.3