org.seasar.framework.container.customizer
クラス AspectCustomizer

java.lang.Object
  拡張org.seasar.framework.container.customizer.AbstractCustomizer
      拡張org.seasar.framework.container.customizer.AspectCustomizer
すべての実装インタフェース:
ComponentCustomizer

public class AspectCustomizer
extends AbstractCustomizer

コンポーネント定義アスペクト定義を 登録するコンポーネントカスタマイザです。

カスタマイザには、ポイントカットとインターセプタを設定します。 インターセプタはコンポーネント名で指定し、複数のインターセプタ名を設定することができます。 インターセプタ名が複数設定された場合は、設定された順にアスペクト定義をコンポーネント定義に登録します。 最初に設定された名前を持つインターセプタが、後に設定された名前を持つインターセプタよりも先に呼び出されることになります。

コンポーネントに適用するインターセプタのインスタンス属性がsingleton以外の場合は、 useLookupAdapterプロパティをtrueに設定します。 これにより、コンポーネントのメソッドが呼び出される度に、コンテナからインターセプタのインスタンスをルックアップするようになります。

作成者:
higa

入れ子クラスの概要
static class AspectCustomizer.LookupAdaptorInterceptor
          インスタンス属性がsingleton以外のインターセプタを呼び出すためのアダプタとなるインターセプタです。
 
フィールドの概要
static String interceptorName_BINDING
          interceptorNameプロパティのバインディング定義です。
static String pointcut_BINDING
          pointcutプロパティのバインディング定義です。
static String useLookupAdapter_BINDING
          useLookupAdapterプロパティのバインディング定義です。
 
クラス org.seasar.framework.container.customizer.AbstractCustomizer から継承したフィールド
classPatterns, ignoreClassPatterns, targetInterface, targetInterface_BINDING
 
コンストラクタの概要
AspectCustomizer()
           
 
メソッドの概要
 void addInterceptorName(String interceptorName)
          コンポーネント定義に登録するインターセプタのコンポーネント名を追加します。
protected  Pointcut createPointcut()
          ポイントカットを作成して返します。
protected  void doCustomize(ComponentDef componentDef)
          カスタマイズ対象のコンポーネント定義をカスタマイズをします。
 void setInterceptorName(String interceptorName)
          コンポーネント定義に登録するインターセプタのコンポーネント名を設定します。
 void setPointcut(String pointcut)
          コンポーネント定義に登録するアスペクト定義のポイントカットを設定します。
 void setUseLookupAdapter(boolean useLookupAdapter)
          インスタンス属性がsingleton以外のインターセプタを適用する場合はtrueを、 そうでない場合はfalseを指定します。
 
クラス org.seasar.framework.container.customizer.AbstractCustomizer から継承したメソッド
addClassPattern, addClassPattern, addIgnoreClassPattern, addIgnoreClassPattern, customize, isMatchClassPattern, isMatchTargetInterface, setTargetInterface
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

interceptorName_BINDING

public static final String interceptorName_BINDING
interceptorNameプロパティのバインディング定義です。

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

pointcut_BINDING

public static final String pointcut_BINDING
pointcutプロパティのバインディング定義です。

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

useLookupAdapter_BINDING

public static final String useLookupAdapter_BINDING
useLookupAdapterプロパティのバインディング定義です。

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

AspectCustomizer

public AspectCustomizer()
メソッドの詳細

setInterceptorName

public void setInterceptorName(String interceptorName)
コンポーネント定義に登録するインターセプタのコンポーネント名を設定します。

すでに設定されているインターセプタ名は破棄されます。

パラメータ:
interceptorName - インターセプタのコンポーネント名

addInterceptorName

public void addInterceptorName(String interceptorName)
コンポーネント定義に登録するインターセプタのコンポーネント名を追加します。

パラメータ:
interceptorName - インターセプタのコンポーネント名

setPointcut

public void setPointcut(String pointcut)
コンポーネント定義に登録するアスペクト定義のポイントカットを設定します。

パラメータ:
pointcut - ポイントカット

setUseLookupAdapter

public void setUseLookupAdapter(boolean useLookupAdapter)
インスタンス属性がsingleton以外のインターセプタを適用する場合はtrueを、 そうでない場合はfalseを指定します。

パラメータ:
useLookupAdapter - インスタンス属性がsingleton以外のインターセプタを適用する場合はtrue

doCustomize

protected void doCustomize(ComponentDef componentDef)
カスタマイズ対象のコンポーネント定義をカスタマイズをします。

設定されたインターセプタ名を持つアスペクト定義をコンポーネント定義に登録します。 インターセプタ名が複数設定された場合は、設定された順にアスペクト定義をコンポーネント定義に登録します。

定義:
クラス AbstractCustomizer 内の doCustomize
パラメータ:
componentDef - コンポーネント定義

createPointcut

protected Pointcut createPointcut()
ポイントカットを作成して返します。

pointcutプロパティが指定されている場合は、その文字列からポイントカットを作成します。 targetInterfaceプロパティが指定されている場合は、そのインターフェースからポイントカットを作成します。 それ以外の場合はnullを返します。

戻り値:
ポイントカット


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