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

java.lang.Object
  拡張org.seasar.framework.aop.javassist.AbstractGenerator
直系の既知のサブクラス:
EnhancedClassGenerator, MethodInvocationClassGenerator

public class AbstractGenerator
extends java.lang.Object

バイトコードを生成するための抽象クラスです。

作成者:
koichik

フィールドの概要
protected  ClassPool classPool
          クラスプールです。
protected static java.lang.String DEFINE_CLASS_METHOD_NAME
          defineClassです。
protected static java.lang.reflect.Method defineClassMethod
          defineClassメソッドです。
protected static java.security.ProtectionDomain protectionDomain
          保護ドメインです。
 
コンストラクタの概要
protected AbstractGenerator(ClassPool classPool)
          AbstractGeneratorを作成します。
 
メソッドの概要
protected  CtConstructor createConstructor(CtClass clazz, java.lang.reflect.Constructor constructor)
          コンストラクタを作成します。
protected  CtConstructor createConstructor(CtClass clazz, CtClass[] parameterTypes, CtClass[] exceptionTypes)
          コンストラクタを作成します。
protected  CtClass createCtClass(java.lang.String name)
          コンパイル時のクラスを作成します。
protected  CtClass createCtClass(java.lang.String name, java.lang.Class superClass)
          コンパイル時のクラスを作成します。
protected  CtClass createCtClass(java.lang.String name, CtClass superClass)
          コンパイル時のクラスを作成します。
protected  CtConstructor createDefaultConstructor(java.lang.Class clazz)
          デフォルトコンストラクタを作成します。
protected  CtConstructor createDefaultConstructor(CtClass clazz)
          デフォルトコンストラクタを作成します。
protected  CtMethod createMethod(CtClass clazz, int modifier, java.lang.Class returnType, java.lang.String methodName, java.lang.Class[] parameterTypes, java.lang.Class[] exceptionTypes, java.lang.String body)
          メソッドを作成します。
protected  CtMethod createMethod(CtClass clazz, java.lang.reflect.Method method, java.lang.String body)
          メソッドを作成します。
protected  CtMethod createMethod(CtClass clazz, java.lang.String src)
          メソッドを作成します。
protected static java.lang.String fromObject(java.lang.Class type, java.lang.String expr)
          オブジェクトの表現から文字列表現に変換します。
protected  CtClass getAndRenameCtClass(java.lang.Class orgClass, java.lang.String newName)
          コンパイル時のクラスを取得して名前を変えます。
protected  CtClass getAndRenameCtClass(java.lang.String orgName, java.lang.String newName)
          コンパイル時のクラスを取得して名前を変えます。
protected  CtMethod getDeclaredMethod(CtClass clazz, java.lang.String name, CtClass[] argTypes)
          宣言されているメソッドを返します。
protected  void setInterface(CtClass clazz, java.lang.Class interfaceType)
          インターフェースを設定します。
protected  void setInterfaces(CtClass clazz, java.lang.Class[] interfaces)
          インターフェースの配列を設定します。
protected  void setMethodBody(CtMethod method, java.lang.String src)
          メソッドの中身を設定します。
 java.lang.Class toClass(java.lang.ClassLoader classLoader, CtClass ctClass)
          CtClassClassに変更します。
protected  CtClass toCtClass(java.lang.Class clazz)
          コンパイル時のクラスに変換します。
protected  CtClass toCtClass(java.lang.String className)
          コンパイル時のクラスに変換します。
protected  CtClass[] toCtClassArray(java.lang.Class[] classes)
          コンパイル時のクラスの配列に変換します。
protected  CtClass[] toCtClassArray(java.lang.String[] classNames)
          コンパイル時のクラスの配列に変換します。
protected static java.lang.String toObject(java.lang.Class type, java.lang.String expr)
          オブジェクトの文字列表現に変換します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFINE_CLASS_METHOD_NAME

protected static final java.lang.String DEFINE_CLASS_METHOD_NAME
defineClassです。

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

protectionDomain

protected static final java.security.ProtectionDomain protectionDomain
保護ドメインです。


defineClassMethod

protected static java.lang.reflect.Method defineClassMethod
defineClassメソッドです。


classPool

protected final ClassPool classPool
クラスプールです。

コンストラクタの詳細

AbstractGenerator

protected AbstractGenerator(ClassPool classPool)
AbstractGeneratorを作成します。

パラメータ:
classPool - クラスプール
メソッドの詳細

fromObject

protected static java.lang.String fromObject(java.lang.Class type,
                                             java.lang.String expr)
オブジェクトの表現から文字列表現に変換します。

パラメータ:
type - 型
expr - 値
戻り値:
文字列表現

toObject

protected static java.lang.String toObject(java.lang.Class type,
                                           java.lang.String expr)
オブジェクトの文字列表現に変換します。

パラメータ:
type - 型
expr - 値
戻り値:
文字列表現

toCtClass

protected CtClass toCtClass(java.lang.Class clazz)
コンパイル時のクラスに変換します。

パラメータ:
clazz - 元のクラス
戻り値:
コンパイル時のクラス

toCtClass

protected CtClass toCtClass(java.lang.String className)
コンパイル時のクラスに変換します。

パラメータ:
className - クラス名
戻り値:
コンパイル時のクラス

toCtClassArray

protected CtClass[] toCtClassArray(java.lang.String[] classNames)
コンパイル時のクラスの配列に変換します。

パラメータ:
classNames - 元のクラス名の配列
戻り値:
コンパイル時のクラスの配列

toCtClassArray

protected CtClass[] toCtClassArray(java.lang.Class[] classes)
コンパイル時のクラスの配列に変換します。

パラメータ:
classes - 元のクラスの配列
戻り値:
コンパイル時のクラスの配列

createCtClass

protected CtClass createCtClass(java.lang.String name)
コンパイル時のクラスを作成します。

パラメータ:
name - クラス名
戻り値:
コンパイル時のクラス

createCtClass

protected CtClass createCtClass(java.lang.String name,
                                java.lang.Class superClass)
コンパイル時のクラスを作成します。

パラメータ:
name - クラス名
superClass - 親クラス
戻り値:
コンパイル時のクラス

createCtClass

protected CtClass createCtClass(java.lang.String name,
                                CtClass superClass)
コンパイル時のクラスを作成します。

パラメータ:
name - クラス名
superClass - 親クラス
戻り値:
コンパイル時のクラス

getAndRenameCtClass

protected CtClass getAndRenameCtClass(java.lang.Class orgClass,
                                      java.lang.String newName)
コンパイル時のクラスを取得して名前を変えます。

パラメータ:
orgClass - 元のクラス
newName - 新しい名前
戻り値:
コンパイル時のクラス

getAndRenameCtClass

protected CtClass getAndRenameCtClass(java.lang.String orgName,
                                      java.lang.String newName)
コンパイル時のクラスを取得して名前を変えます。

パラメータ:
orgName - 元の名前
newName - 新しい名前
戻り値:
コンパイル時のクラス

toClass

public java.lang.Class toClass(java.lang.ClassLoader classLoader,
                               CtClass ctClass)
CtClassClassに変更します。

パラメータ:
classLoader - クラスローダ
ctClass - コンパイル時のクラス
戻り値:
クラス

setInterface

protected void setInterface(CtClass clazz,
                            java.lang.Class interfaceType)
インターフェースを設定します。

パラメータ:
clazz - 対象のコンパイル時クラス
interfaceType - インターフェース

setInterfaces

protected void setInterfaces(CtClass clazz,
                             java.lang.Class[] interfaces)
インターフェースの配列を設定します。

パラメータ:
clazz - 対象のコンパイル時クラス
interfaces - インターフェースの配列

createDefaultConstructor

protected CtConstructor createDefaultConstructor(java.lang.Class clazz)
デフォルトコンストラクタを作成します。

パラメータ:
clazz - 元のクラス
戻り値:
コンパイル時コンストラクタ

createDefaultConstructor

protected CtConstructor createDefaultConstructor(CtClass clazz)
デフォルトコンストラクタを作成します。

パラメータ:
clazz - 対象のコンパイル時クラス
戻り値:
コンパイル時コンストラクタ

createConstructor

protected CtConstructor createConstructor(CtClass clazz,
                                          java.lang.reflect.Constructor constructor)
コンストラクタを作成します。

パラメータ:
clazz - 対象となるコンパイル時クラス
constructor - 元のコンストラクタ
戻り値:
コンパイル時コンストラクタ

createConstructor

protected CtConstructor createConstructor(CtClass clazz,
                                          CtClass[] parameterTypes,
                                          CtClass[] exceptionTypes)
コンストラクタを作成します。

パラメータ:
clazz - 対象となるコンパイル時クラス
parameterTypes - パラメータの型の配列
exceptionTypes - 例外の型の配列
戻り値:
コンパイル時コンストラクタ

getDeclaredMethod

protected CtMethod getDeclaredMethod(CtClass clazz,
                                     java.lang.String name,
                                     CtClass[] argTypes)
宣言されているメソッドを返します。

パラメータ:
clazz - 対象のコンパイル時クラス
name - メソッド名
argTypes - パラメータの型の配列
戻り値:
コンパイル時メソッド

createMethod

protected CtMethod createMethod(CtClass clazz,
                                java.lang.String src)
メソッドを作成します。

パラメータ:
clazz - 対象のコンパイル時クラス
src - ソース
戻り値:
コンパイル時メソッド

createMethod

protected CtMethod createMethod(CtClass clazz,
                                java.lang.reflect.Method method,
                                java.lang.String body)
メソッドを作成します。

パラメータ:
clazz - 対象のコンパイル時クラス
method - 元のメソッド
body - メソッドの中身
戻り値:
コンパイル時メソッド

createMethod

protected CtMethod createMethod(CtClass clazz,
                                int modifier,
                                java.lang.Class returnType,
                                java.lang.String methodName,
                                java.lang.Class[] parameterTypes,
                                java.lang.Class[] exceptionTypes,
                                java.lang.String body)
メソッドを作成します。

パラメータ:
clazz - 対象となるコンパイル時クラス
modifier - アクセス修飾子
returnType - 戻り値の型
methodName - メソッド名
parameterTypes - パラメータの型の配列
exceptionTypes - 例外の型の配列
body - メソッドの中身
戻り値:
コンパイル時メソッド

setMethodBody

protected void setMethodBody(CtMethod method,
                             java.lang.String src)
メソッドの中身を設定します。

パラメータ:
method - コンパイル時メソッド
src - ソース


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