クラス AbstractClassGenerator<T>
java.lang.ObjectSE
org.springframework.cglib.core.AbstractClassGenerator<T>
- 実装されたすべてのインターフェース:
ClassGenerator
- 既知の直属サブクラス
BeanCopier.Generator
、BeanGenerator
、BeanMap.Generator
、BulkBean.Generator
、ConstructorDelegate.Generator
、Enhancer
、FastClass.Generator
、ImmutableBean.Generator
、InterfaceMaker
、KeyFactory.Generator
、MethodDelegate.Generator
、Mixin.Generator
、MulticastDelegate.Generator
、ParallelSorter.Generator
、StringSwitcher.Generator
すべてのコード生成 CGLIB ユーティリティの抽象クラス。パフォーマンスのために生成されたクラスをキャッシュすることに加えて、
ClassLoader
、生成されたクラスの名前、生成前に適用される変換をカスタマイズするためのフックを提供します。ネストされたクラスのサマリー
修飾子と型クラス説明protected static class
protected static class
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
protected abstract ObjectSE
firstInstance
(ClassSE type) protected ClassSE
boolean
protected final StringSE
static AbstractClassGenerator
CGLIB によって内部的に使用されます。protected abstract ClassLoaderSE
protected ProtectionDomainSE
クラスを定義するときに使用する保護ドメインを返します。boolean
protected abstract ObjectSE
nextInstance
(ObjectSE instance) void
setAttemptLoad
(boolean attemptLoad) 設定されている場合、CGLIB は、クラスを生成する前に、指定されたClassLoader
からクラスをロードしようとします。void
setClassLoader
(ClassLoaderSE classLoader) クラスが生成されるClassLoader
を設定します。void
setContextClass
(ClassSE contextClass) protected void
setNamePrefix
(StringSE namePrefix) void
setNamingPolicy
(NamingPolicy namingPolicy) デフォルトの命名ポリシーを上書きします。void
setStrategy
(GeneratorStrategy strategy) このジェネレーターからバイトコードを作成するために使用する戦略を設定します。void
setUseCache
(boolean useCache) 同じプロパティを持つクラスの生成されたクラスの静的キャッシュを使用および更新するかどうか。protected ObjectSE
unwrapCachedValue
(T cached) protected T
wrapCachedClass
(ClassSE klass) クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.cglib.core.ClassGenerator から継承されたメソッド
generateClass
コンストラクターの詳細
AbstractClassGenerator
メソッドの詳細
wrapCachedClass
unwrapCachedValue
setNamePrefix
getClassName
setClassLoader
クラスが生成されるClassLoader
を設定します。AbstractClassGenerator
の具象サブクラス(Enhancer
など)は、これが設定されていない場合、適切なデフォルトを選択しようとします。クラスは
WeakHashMap
を使用してClassLoader
ごとにキャッシュされ、関連するローダーがガベージコレクションされたときに生成されたクラスを削除できるようにします。- パラメーター:
classLoader
- 新しいクラスを生成するローダー、またはデフォルトを使用する場合は null
setContextClass
setNamingPolicy
デフォルトの命名ポリシーを上書きします。- パラメーター:
namingPolicy
- カスタムポリシー、またはデフォルトを使用する場合は null- 関連事項:
getNamingPolicy
setUseCache
public void setUseCache(boolean useCache) 同じプロパティを持つクラスの生成されたクラスの静的キャッシュを使用および更新するかどうか。デフォルトはtrue
です。getUseCache
public boolean getUseCache()- 関連事項:
setAttemptLoad
public void setAttemptLoad(boolean attemptLoad) 設定されている場合、CGLIB は、クラスを生成する前に、指定されたClassLoader
からクラスをロードしようとします。生成されたクラス名は一意であることが保証されていないため、デフォルトはfalse
です。getAttemptLoad
public boolean getAttemptLoad()setStrategy
このジェネレーターからバイトコードを作成するために使用する戦略を設定します。デフォルトでは、DefaultGeneratorStrategy
のインスタンスが使用されます。getStrategy
getCurrent
CGLIB によって内部的に使用されます。現在のスレッドでクラスを生成するために使用されているAbstractClassGenerator
を返します。getClassLoader
getDefaultClassLoader
getProtectionDomain
クラスを定義するときに使用する保護ドメインを返します。デフォルトの実装では、デフォルトの保護ドメインを使用するために
null
を返します。サブクラスは、より具体的な保護ドメインを使用するようにオーバーライドできます。- 戻り値:
- 保護ドメイン (デフォルトを使用するための
null
)
create
generate
firstInstance
- 例外:
ExceptionSE
nextInstance
- 例外:
ExceptionSE