org.seasar.framework.aop.javassist
クラス AspectWeaver

java.lang.Object
  拡張org.seasar.framework.aop.javassist.AspectWeaver

public class AspectWeaver
extends java.lang.Object

アスペクトを織り込むクラスです。

作成者:
koichik

フィールドの概要
protected  ClassPool classPool
          クラスプール
protected  java.lang.Class enhancedClass
          エンハンスされるクラス
protected  EnhancedClassGenerator enhancedClassGenerator
          エンハンスされるクラスジェネレータ
protected  java.lang.String enhancedClassName
          エンハンスされるクラス名
protected static java.util.Set enhancedClassNames
          エンハンスされるクラス名の Set
protected  java.util.List methodInvocationClassList
          メソッド呼び出しクラスの List
protected  java.util.Map parameters
          パラメータ
static java.lang.String PREFIX_ENHANCED_CLASS
          エンハンスされるクラスにつけるプレフィックス。
static java.lang.String SEPARATOR_METHOD_INVOCATION_CLASS
          エンハンスされるMethodInvocationのメソッド部とインデックスの区切り文字。
static java.lang.String SUFFIX_ENHANCED_CLASS
          エンハンスされるクラスにつけるサフィックス。
static java.lang.String SUFFIX_INVOKE_SUPER_METHOD
          super(親クラス)のメソッドを呼び出すときのサフィックス。
static java.lang.String SUFFIX_METHOD_INVOCATION_CLASS
          エンハンスされるMethodInvocationにつけるサフィックス。
protected  java.lang.Class targetClass
          ターゲットクラス
 
コンストラクタの概要
AspectWeaver(java.lang.Class targetClass, java.util.Map parameters)
          AspectWeaverを作成します。
 
メソッドの概要
 java.lang.String createInvokeSuperMethod(java.lang.reflect.Method method)
          superクラスのメソッドを呼び出すためのメソッド名を作成します。
 java.lang.Class generateClass()
          クラスを生成します。
 java.lang.String getEnhancedClassName()
          エンハンスされたクラス名を返します。
 java.lang.String getMethodInvocationClassName(java.lang.reflect.Method method)
          エンハンスされたMethodInvocationのクラス名を返します。
 void setInterceptors(java.lang.reflect.Method method, MethodInterceptor[] interceptors)
          MethodInterceptorを設定します。
 void setInterTypes(InterType[] interTypes)
          InterTypeを追加します。
 void setStaticField(java.lang.Class clazz, java.lang.String name, java.lang.Object value)
          static filedに値を設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PREFIX_ENHANCED_CLASS

public static final java.lang.String PREFIX_ENHANCED_CLASS
エンハンスされるクラスにつけるプレフィックス。

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

SUFFIX_ENHANCED_CLASS

public static final java.lang.String SUFFIX_ENHANCED_CLASS
エンハンスされるクラスにつけるサフィックス。

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

SUFFIX_METHOD_INVOCATION_CLASS

public static final java.lang.String SUFFIX_METHOD_INVOCATION_CLASS
エンハンスされるMethodInvocationにつけるサフィックス。

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

SUFFIX_INVOKE_SUPER_METHOD

public static final java.lang.String SUFFIX_INVOKE_SUPER_METHOD
super(親クラス)のメソッドを呼び出すときのサフィックス。

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

SEPARATOR_METHOD_INVOCATION_CLASS

public static final java.lang.String SEPARATOR_METHOD_INVOCATION_CLASS
エンハンスされるMethodInvocationのメソッド部とインデックスの区切り文字。

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

enhancedClassNames

protected static final java.util.Set enhancedClassNames
エンハンスされるクラス名の Set


targetClass

protected final java.lang.Class targetClass
ターゲットクラス


parameters

protected final java.util.Map parameters
パラメータ


enhancedClassName

protected final java.lang.String enhancedClassName
エンハンスされるクラス名


enhancedClassGenerator

protected final EnhancedClassGenerator enhancedClassGenerator
エンハンスされるクラスジェネレータ


methodInvocationClassList

protected final java.util.List methodInvocationClassList
メソッド呼び出しクラスの List


enhancedClass

protected java.lang.Class enhancedClass
エンハンスされるクラス


classPool

protected ClassPool classPool
クラスプール

コンストラクタの詳細

AspectWeaver

public AspectWeaver(java.lang.Class targetClass,
                    java.util.Map parameters)
AspectWeaverを作成します。

パラメータ:
targetClass -
parameters -
メソッドの詳細

setInterceptors

public void setInterceptors(java.lang.reflect.Method method,
                            MethodInterceptor[] interceptors)
MethodInterceptorを設定します。

パラメータ:
method -
interceptors -

setInterTypes

public void setInterTypes(InterType[] interTypes)
InterTypeを追加します。

パラメータ:
interTypes -

generateClass

public java.lang.Class generateClass()
クラスを生成します。

戻り値:
生成されたクラス

getEnhancedClassName

public java.lang.String getEnhancedClassName()
エンハンスされたクラス名を返します。

戻り値:
エンハンスされたクラス名

getMethodInvocationClassName

public java.lang.String getMethodInvocationClassName(java.lang.reflect.Method method)
エンハンスされたMethodInvocationのクラス名を返します。

パラメータ:
method -
戻り値:

createInvokeSuperMethod

public java.lang.String createInvokeSuperMethod(java.lang.reflect.Method method)
superクラスのメソッドを呼び出すためのメソッド名を作成します。

パラメータ:
method -
戻り値:

setStaticField

public void setStaticField(java.lang.Class clazz,
                           java.lang.String name,
                           java.lang.Object value)
static filedに値を設定します。

パラメータ:
clazz -
name -
value -


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