Package net.sf.cglib.beans
Class BeanMap.Generator
- java.lang.Object
-
- net.sf.cglib.core.AbstractClassGenerator
-
- net.sf.cglib.beans.BeanMap.Generator
-
- All Implemented Interfaces:
ClassGenerator
- Enclosing class:
- BeanMap
public static class BeanMap.Generator extends AbstractClassGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interface
BeanMap.Generator.BeanMapKey
-
Nested classes/interfaces inherited from class net.sf.cglib.core.AbstractClassGenerator
AbstractClassGenerator.ClassLoaderData, AbstractClassGenerator.Source
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object
bean
private java.lang.Class
beanClass
private static BeanMap.Generator.BeanMapKey
KEY_FACTORY
private int
require
private static AbstractClassGenerator.Source
SOURCE
-
Constructor Summary
Constructors Constructor Description Generator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BeanMap
create()
Create a new instance of theBeanMap
.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
setBean(java.lang.Object bean)
Set the bean that the generated map should reflect.void
setBeanClass(java.lang.Class beanClass)
Set the class of the bean that the generated map should support.void
setRequire(int require)
Limit the properties reflected by the generated map.-
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 Detail
-
SOURCE
private static final AbstractClassGenerator.Source SOURCE
-
KEY_FACTORY
private static final BeanMap.Generator.BeanMapKey KEY_FACTORY
-
bean
private java.lang.Object bean
-
beanClass
private java.lang.Class beanClass
-
require
private int require
-
-
Method Detail
-
setBean
public void setBean(java.lang.Object bean)
Set the bean that the generated map should reflect. The bean may be swapped out for another bean of the same type usingsetBean(java.lang.Object)
. Calling this method overrides any value previously set usingsetBeanClass(java.lang.Class)
. You must call either this method orsetBeanClass(java.lang.Class)
beforecreate()
.- Parameters:
bean
- the initial bean
-
setBeanClass
public void setBeanClass(java.lang.Class beanClass)
Set the class of the bean that the generated map should support. You must call either this method orsetBeanClass(java.lang.Class)
beforecreate()
.- Parameters:
beanClass
- the class of the bean
-
setRequire
public void setRequire(int require)
Limit the properties reflected by the generated map.- Parameters:
require
- any combination ofBeanMap.REQUIRE_GETTER
andBeanMap.REQUIRE_SETTER
; default is zero (any property allowed)
-
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 BeanMap create()
Create a new instance of theBeanMap
. An existing generated class will be reused if possible.
-
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
-
-