Package net.sf.cglib.beans
Class BeanGenerator
java.lang.Object
net.sf.cglib.core.AbstractClassGenerator
net.sf.cglib.beans.BeanGenerator
- All Implemented Interfaces:
ClassGenerator
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interface
Nested classes/interfaces inherited from class net.sf.cglib.core.AbstractClassGenerator
AbstractClassGenerator.ClassLoaderData, AbstractClassGenerator.Source
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private static final BeanGenerator.BeanGeneratorKey
private Map
private static final AbstractClassGenerator.Source
private Class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
addProperties
(BeanGenerator gen, PropertyDescriptor[] descriptors) static void
addProperties
(BeanGenerator gen, Class type) static void
addProperties
(BeanGenerator gen, Map props) void
addProperty
(String name, Class type) create()
private Object
protected Object
firstInstance
(Class type) void
generateClass
(org.objectweb.asm.ClassVisitor v) protected ClassLoader
protected ProtectionDomain
Returns the protection domain to use when defining the class.protected Object
nextInstance
(Object instance) void
setSuperclass
(Class superclass) Set the class which the generated class will extend.Methods inherited from class net.sf.cglib.core.AbstractClassGenerator
create, generate, getAttemptLoad, getClassLoader, getClassName, getCurrent, getNamingPolicy, getStrategy, getUseCache, setAttemptLoad, setClassLoader, setNamePrefix, setNamingPolicy, setStrategy, setUseCache, unwrapCachedValue, wrapCachedClass
-
Field Details
-
SOURCE
-
KEY_FACTORY
-
superclass
-
props
-
classOnly
private boolean classOnly
-
-
Constructor Details
-
BeanGenerator
public BeanGenerator()
-
-
Method Details
-
setSuperclass
Set the class which the generated class will extend. The class must not be declared as final, and must have a non-private no-argument constructor.- Parameters:
superclass
- class to extend, or null to extend Object
-
addProperty
-
getDefaultClassLoader
- Specified by:
getDefaultClassLoader
in classAbstractClassGenerator
-
getProtectionDomain
Description copied from class:AbstractClassGenerator
Returns the protection domain to use when defining the class.Default implementation returns
null
for using a default protection domain. Sub-classes may override to use a more specific protection domain.- Overrides:
getProtectionDomain
in classAbstractClassGenerator
- Returns:
- the protection domain (
null
for using a default)
-
create
-
createClass
-
createHelper
-
generateClass
- Throws:
Exception
-
firstInstance
- Specified by:
firstInstance
in classAbstractClassGenerator
-
nextInstance
- Specified by:
nextInstance
in classAbstractClassGenerator
-
addProperties
-
addProperties
-
addProperties
-