public static class BeanMap.Generator extends AbstractClassGenerator
AbstractClassGenerator.ClassLoaderData, AbstractClassGenerator.Source
Constructor and Description |
---|
Generator() |
Modifier and Type | Method and Description |
---|---|
BeanMap |
create()
Create a new instance of the
BeanMap . |
protected Object |
firstInstance(Class type) |
void |
generateClass(ClassVisitor v) |
protected ClassLoader |
getDefaultClassLoader() |
protected ProtectionDomain |
getProtectionDomain()
Returns the protection domain to use when defining the class.
|
protected Object |
nextInstance(Object instance) |
void |
setBean(Object bean)
Set the bean that the generated map should reflect.
|
void |
setBeanClass(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.
|
create, generate, getAttemptLoad, getClassLoader, getClassName, getCurrent, getNamingPolicy, getStrategy, getUseCache, setAttemptLoad, setClassLoader, setContextClass, setNamePrefix, setNamingPolicy, setStrategy, setUseCache, unwrapCachedValue, wrapCachedClass
public void setBean(Object bean)
setBean(java.lang.Object)
.
Calling this method overrides any value previously set using setBeanClass(java.lang.Class)
.
You must call either this method or setBeanClass(java.lang.Class)
before create()
.bean
- the initial beanpublic void setBeanClass(Class beanClass)
setBeanClass(java.lang.Class)
before create()
.beanClass
- the class of the beanpublic void setRequire(int require)
require
- any combination of BeanMap.REQUIRE_GETTER
and
BeanMap.REQUIRE_SETTER
; default is zero (any property allowed)protected ClassLoader getDefaultClassLoader()
getDefaultClassLoader
in class AbstractClassGenerator
protected ProtectionDomain getProtectionDomain()
AbstractClassGenerator
Default implementation returns null
for using a default protection domain. Sub-classes may
override to use a more specific protection domain.
getProtectionDomain
in class AbstractClassGenerator
null
for using a default)public BeanMap create()
BeanMap
. An existing
generated class will be reused if possible.public void generateClass(ClassVisitor v) throws Exception
Exception
protected Object firstInstance(Class type)
firstInstance
in class AbstractClassGenerator
protected Object nextInstance(Object instance)
nextInstance
in class AbstractClassGenerator