Package org.openl.rules.datatype.gen
Class JavaBeanClassBuilder
- java.lang.Object
-
- org.openl.rules.datatype.gen.JavaBeanClassBuilder
-
public class JavaBeanClassBuilder extends Object
Generates Java byte code to create JavaBean classes with JAXB annotations.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanadditionalConstructorprotected StringbeanNameprotected booleanequalsHashCodeToStringMethodsprotected LinkedHashMap<String,FieldDescription>fieldsprotected LinkedHashMap<String,FieldDescription>parentFieldsprotected TypeDescriptionparentTypeprotected booleanpublicFieldsprotected LinkedHashSet<Consumer<org.objectweb.asm.ClassWriter>>typeWriters
-
Constructor Summary
Constructors Constructor Description JavaBeanClassBuilder(String beanName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JavaBeanClassBuilderaddField(String name, String type)JavaBeanClassBuilderaddField(String name, FieldDescription type)JavaBeanClassBuilderaddFields(Map<String,FieldDescription> fields)JavaBeanClassBuilderaddParentField(String name, String type)JavaBeanClassBuilderaddParentField(String name, FieldDescription type)JavaBeanClassBuilderaddParentFields(Map<String,FieldDescription> parentFields)byte[]byteCode()Creates JavaBean byte code for given fields.JavaBeanClassBuildersetParentType(TypeDescription parentType)JavaBeanClassBuilderwithAdditionalConstructor(boolean additionalConstructor)JavaBeanClassBuilderwithEqualsHashCodeToStringMethods(boolean equalsHashCodeToStringMethods)JavaBeanClassBuilderwithPublicFields(boolean publicFields)JavaBeanClassBuilderwriteToType(Consumer<org.objectweb.asm.ClassWriter> writer)
-
-
-
Field Detail
-
beanName
protected final String beanName
-
parentType
protected TypeDescription parentType
-
parentFields
protected final LinkedHashMap<String,FieldDescription> parentFields
-
fields
protected final LinkedHashMap<String,FieldDescription> fields
-
additionalConstructor
protected boolean additionalConstructor
-
publicFields
protected boolean publicFields
-
equalsHashCodeToStringMethods
protected boolean equalsHashCodeToStringMethods
-
typeWriters
protected final LinkedHashSet<Consumer<org.objectweb.asm.ClassWriter>> typeWriters
-
-
Constructor Detail
-
JavaBeanClassBuilder
public JavaBeanClassBuilder(String beanName)
-
-
Method Detail
-
setParentType
public JavaBeanClassBuilder setParentType(TypeDescription parentType)
-
addParentField
public JavaBeanClassBuilder addParentField(String name, String type)
-
addParentField
public JavaBeanClassBuilder addParentField(String name, FieldDescription type)
-
writeToType
public JavaBeanClassBuilder writeToType(Consumer<org.objectweb.asm.ClassWriter> writer)
-
addField
public JavaBeanClassBuilder addField(String name, FieldDescription type)
-
addField
public JavaBeanClassBuilder addField(String name, String type)
-
addFields
public JavaBeanClassBuilder addFields(Map<String,FieldDescription> fields)
-
addParentFields
public JavaBeanClassBuilder addParentFields(Map<String,FieldDescription> parentFields)
-
withAdditionalConstructor
public JavaBeanClassBuilder withAdditionalConstructor(boolean additionalConstructor)
-
withPublicFields
public JavaBeanClassBuilder withPublicFields(boolean publicFields)
-
withEqualsHashCodeToStringMethods
public JavaBeanClassBuilder withEqualsHashCodeToStringMethods(boolean equalsHashCodeToStringMethods)
-
byteCode
public byte[] byteCode()
Creates JavaBean byte code for given fields.
-
-