net.sf.cglib.core
Class AbstractClassGenerator
java.lang.Object
net.sf.cglib.core.AbstractClassGenerator
- ClassGenerator
public abstract class AbstractClassGenerator
extends java.lang.Object
Abstract class for all code-generating CGLIB utilities.
In addition to caching generated classes for performance, it provides hooks for
customizing the ClassLoader
, name of the generated class, and transformations
applied before generation.
getAttemptLoad
public boolean getAttemptLoad()
getClassLoader
public ClassLoader getClassLoader()
getCurrent
public static AbstractClassGenerator getCurrent()
Used internally by CGLIB. Returns the AbstractClassGenerator
that is being used to generate a class in the current thread.
getUseCache
public boolean getUseCache()
setAttemptLoad
public void setAttemptLoad(boolean attemptLoad)
If set, CGLIB will attempt to load classes from the specified
ClassLoader
before generating them. Because generated
class names are not guaranteed to be unique, the default is false
.
setClassLoader
public void setClassLoader(ClassLoader classLoader)
Set the
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 default
setNamingPolicy
public void setNamingPolicy(NamingPolicy namingPolicy)
Override the default naming policy.
namingPolicy
- the custom policy, or null to use the default
setStrategy
public void setStrategy(GeneratorStrategy strategy)
Set the strategy to use to create the bytecode from this generator.
By default an instance of null is used.
setUseCache
public void setUseCache(boolean useCache)
Whether use and update the static cache of generated classes
for a class with the same properties. Default is true
.
Copyright (c) 2001 - Apache Software Foundation