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 voidaddProperties(BeanGenerator gen, PropertyDescriptor[] descriptors)static voidaddProperties(BeanGenerator gen, Class type)static voidaddProperties(BeanGenerator gen, Map props)voidaddProperty(String name, Class type)Objectcreate()ObjectcreateClass()protected ObjectfirstInstance(Class type)voidgenerateClass(org.objectweb.asm.ClassVisitor v)protected ClassLoadergetDefaultClassLoader()protected ProtectionDomaingetProtectionDomain()Returns the protection domain to use when defining the class.protected ObjectnextInstance(Object instance)voidsetSuperclass(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(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
-
getDefaultClassLoader
protected ClassLoader getDefaultClassLoader()
- Specified by:
getDefaultClassLoaderin classAbstractClassGenerator
-
getProtectionDomain
protected ProtectionDomain getProtectionDomain()
Description copied from class:AbstractClassGeneratorReturns the protection domain to use when defining the class.Default implementation returns
nullfor using a default protection domain. Sub-classes may override to use a more specific protection domain.- Overrides:
getProtectionDomainin classAbstractClassGenerator- Returns:
- the protection domain (
nullfor using a default)
-
create
public Object create()
-
createClass
public Object createClass()
-
generateClass
public void generateClass(org.objectweb.asm.ClassVisitor v) throws Exception- Throws:
Exception
-
firstInstance
protected Object firstInstance(Class type)
- Specified by:
firstInstancein classAbstractClassGenerator
-
nextInstance
protected Object nextInstance(Object instance)
- Specified by:
nextInstancein classAbstractClassGenerator
-
addProperties
public static void addProperties(BeanGenerator gen, Map props)
-
addProperties
public static void addProperties(BeanGenerator gen, Class type)
-
addProperties
public static void addProperties(BeanGenerator gen, PropertyDescriptor[] descriptors)
-
-