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

java.lang.Object
  拡張org.seasar.framework.aop.javassist.AbstractGenerator
      拡張org.seasar.framework.aop.javassist.MethodInvocationClassGenerator

public class MethodInvocationClassGenerator
extends AbstractGenerator

MethodInvocationをエンハンスするクラスです。

作成者:
koichik

入れ子クラスの概要
static class MethodInvocationClassGenerator.MethodInvocationTemplate
          MethodInvocationのテンプレートです。
 
フィールドの概要
protected  java.lang.String enhancedClassName
          エンハンスされるクラス名
protected  CtClass methodInvocationClass
          メソッド呼び出しクラス
 
クラス org.seasar.framework.aop.javassist.AbstractGenerator から継承したフィールド
classPool, DEFINE_CLASS_METHOD_NAME, defineClassMethod, protectionDomain
 
コンストラクタの概要
MethodInvocationClassGenerator(ClassPool classPool, java.lang.String invocationClassName, java.lang.String targetClassName)
          MethodInvocationClassGeneratorを作成します。
 
メソッドの概要
static java.lang.String createArgumentString(java.lang.Class[] argTypes)
          引数用のソースを作成します。
static java.lang.String createArgumentTypeString(java.lang.Class[] argTypes)
          引数の型用のソースを作成します。
 void createProceedMethod(java.lang.reflect.Method targetMethod, java.lang.String invokeSuperMethodName)
          proceedメソッドを作成します。
static java.lang.String createProceedMethodSource(java.lang.reflect.Method targetMethod, java.lang.String enhancedClassName, java.lang.String invokeSuperMethodName)
          proceedメソッドのソースを作成します。
static java.lang.String createReturnStatement(java.lang.reflect.Method targetMethod, java.lang.String enhancedClassName, java.lang.String invokeSuperMethodName)
          return文用のソースを作成します。
static java.lang.String createThrowStatement(java.lang.reflect.Method targetMethod, java.lang.String enhancedClassName)
          throws句用のソースを作成します。
 java.lang.Class toClass(java.lang.ClassLoader classLoader)
          CtClassClassに変換します。
 
クラス org.seasar.framework.aop.javassist.AbstractGenerator から継承したメソッド
createConstructor, createConstructor, createCtClass, createCtClass, createCtClass, createDefaultConstructor, createDefaultConstructor, createMethod, createMethod, createMethod, fromObject, getAndRenameCtClass, getAndRenameCtClass, getDeclaredMethod, setInterface, setInterfaces, setMethodBody, toClass, toCtClass, toCtClass, toCtClassArray, toCtClassArray, toObject
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

enhancedClassName

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


methodInvocationClass

protected CtClass methodInvocationClass
メソッド呼び出しクラス

コンストラクタの詳細

MethodInvocationClassGenerator

public MethodInvocationClassGenerator(ClassPool classPool,
                                      java.lang.String invocationClassName,
                                      java.lang.String targetClassName)
MethodInvocationClassGeneratorを作成します。

パラメータ:
classPool -
invocationClassName -
targetClassName -
メソッドの詳細

createProceedMethod

public void createProceedMethod(java.lang.reflect.Method targetMethod,
                                java.lang.String invokeSuperMethodName)
proceedメソッドを作成します。

パラメータ:
targetMethod -
invokeSuperMethodName -

toClass

public java.lang.Class toClass(java.lang.ClassLoader classLoader)
CtClassClassに変換します。

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

createProceedMethodSource

public static java.lang.String createProceedMethodSource(java.lang.reflect.Method targetMethod,
                                                         java.lang.String enhancedClassName,
                                                         java.lang.String invokeSuperMethodName)
proceedメソッドのソースを作成します。

パラメータ:
targetMethod -
enhancedClassName -
invokeSuperMethodName -
戻り値:
proceedメソッドのソース

createReturnStatement

public static java.lang.String createReturnStatement(java.lang.reflect.Method targetMethod,
                                                     java.lang.String enhancedClassName,
                                                     java.lang.String invokeSuperMethodName)
return文用のソースを作成します。

パラメータ:
targetMethod -
enhancedClassName -
invokeSuperMethodName -
戻り値:
return文用のソース

createThrowStatement

public static java.lang.String createThrowStatement(java.lang.reflect.Method targetMethod,
                                                    java.lang.String enhancedClassName)
throws句用のソースを作成します。

パラメータ:
targetMethod -
enhancedClassName -
戻り値:
throws句用のソース

createArgumentString

public static java.lang.String createArgumentString(java.lang.Class[] argTypes)
引数用のソースを作成します。

パラメータ:
argTypes -
戻り値:
引数用のソース

createArgumentTypeString

public static java.lang.String createArgumentTypeString(java.lang.Class[] argTypes)
引数の型用のソースを作成します。

パラメータ:
argTypes -
戻り値:
引数の型用のソース


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