public abstract class AbstractClassGenerator extends java.lang.Object implements ClassGenerator
ClassLoader
, name of the generated class, and transformations
applied before generation.Modifier and Type | Method and Description |
---|---|
boolean |
getAttemptLoad() |
java.lang.ClassLoader |
getClassLoader() |
static AbstractClassGenerator |
getCurrent()
Used internally by CGLIB.
|
NamingPolicy |
getNamingPolicy() |
GeneratorStrategy |
getStrategy() |
boolean |
getUseCache() |
void |
setAttemptLoad(boolean attemptLoad)
If set, CGLIB will attempt to load classes from the specified
ClassLoader before generating them. |
void |
setClassLoader(java.lang.ClassLoader classLoader)
Set the
ClassLoader in which the class will be generated. |
void |
setNamingPolicy(NamingPolicy namingPolicy)
Override the default naming policy.
|
void |
setStrategy(GeneratorStrategy strategy)
Set the strategy to use to create the bytecode from this generator.
|
void |
setUseCache(boolean useCache)
Whether use and update the static cache of generated classes
for a class with the same properties.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
generateClass
public void setClassLoader(java.lang.ClassLoader classLoader)
ClassLoader
in which the class will be generated.
Concrete subclasses of AbstractClassGenerator
(such as Enhancer
)
will try to choose an appropriate default if this is unset.
Classes are cached per-ClassLoader
using a WeakHashMap
, to allow
the generated classes to be removed when the associated loader is garbage collected.
classLoader
- the loader to generate the new class with, or null to use the defaultpublic void setNamingPolicy(NamingPolicy namingPolicy)
namingPolicy
- the custom policy, or null to use the defaultDefaultNamingPolicy
public NamingPolicy getNamingPolicy()
public void setUseCache(boolean useCache)
true
.public boolean getUseCache()
setUseCache(boolean)
public void setAttemptLoad(boolean attemptLoad)
ClassLoader
before generating them. Because generated
class names are not guaranteed to be unique, the default is false
.public boolean getAttemptLoad()
public void setStrategy(GeneratorStrategy strategy)
DefaultGeneratorStrategy
is used.public GeneratorStrategy getStrategy()
public static AbstractClassGenerator getCurrent()
AbstractClassGenerator
that is being used to generate a class in the current thread.public java.lang.ClassLoader getClassLoader()
Copyright (c) 2001 - Apache Software Foundation