Package net.sf.cglib.beans
Class BeanGenerator
- java.lang.Object
-
- net.sf.cglib.core.AbstractClassGenerator
-
- net.sf.cglib.beans.BeanGenerator
-
- All Implemented Interfaces:
ClassGenerator
public class BeanGenerator extends AbstractClassGenerator
- Author:
- Juozas Baliuka, Chris Nokleberg
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.cglib.core.AbstractClassGenerator
AbstractClassGenerator.ClassLoaderData, AbstractClassGenerator.Source
-
-
Constructor Summary
Constructors Constructor Description BeanGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addProperties(BeanGenerator gen, java.beans.PropertyDescriptor[] descriptors)
static void
addProperties(BeanGenerator gen, java.lang.Class type)
static void
addProperties(BeanGenerator gen, java.util.Map props)
void
addProperty(java.lang.String name, java.lang.Class type)
java.lang.Object
create()
java.lang.Object
createClass()
protected java.lang.Object
firstInstance(java.lang.Class type)
void
generateClass(org.objectweb.asm.ClassVisitor v)
protected java.lang.ClassLoader
getDefaultClassLoader()
protected java.security.ProtectionDomain
getProtectionDomain()
Returns the protection domain to use when defining the class.protected java.lang.Object
nextInstance(java.lang.Object instance)
void
setSuperclass(java.lang.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
-
-
-
-
Method Detail
-
setSuperclass
public void setSuperclass(java.lang.Class superclass)
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
public void addProperty(java.lang.String name, java.lang.Class type)
-
getDefaultClassLoader
protected java.lang.ClassLoader getDefaultClassLoader()
- Specified by:
getDefaultClassLoader
in classAbstractClassGenerator
-
getProtectionDomain
protected java.security.ProtectionDomain 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
public java.lang.Object create()
-
createClass
public java.lang.Object createClass()
-
generateClass
public void generateClass(org.objectweb.asm.ClassVisitor v) throws java.lang.Exception
- Throws:
java.lang.Exception
-
firstInstance
protected java.lang.Object firstInstance(java.lang.Class type)
- Specified by:
firstInstance
in classAbstractClassGenerator
-
nextInstance
protected java.lang.Object nextInstance(java.lang.Object instance)
- Specified by:
nextInstance
in classAbstractClassGenerator
-
addProperties
public static void addProperties(BeanGenerator gen, java.util.Map props)
-
addProperties
public static void addProperties(BeanGenerator gen, java.lang.Class type)
-
addProperties
public static void addProperties(BeanGenerator gen, java.beans.PropertyDescriptor[] descriptors)
-
-