Class BeanTransformer
java.lang.Object
org.nuiton.eugene.Template<org.nuiton.eugene.models.object.ObjectModel>
org.nuiton.eugene.Transformer<org.nuiton.eugene.models.object.ObjectModel, org.nuiton.eugene.models.object.ObjectModel>
org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
org.nuiton.eugene.java.ObjectModelTransformerToJava
org.nuiton.eugene.java.BeanTransformer
- All Implemented Interfaces:
org.nuiton.eugene.TemplateConfiguration
@Component(role=org.nuiton.eugene.Template.class,
hint="org.nuiton.eugene.java.BeanTransformer")
public class BeanTransformer
extends org.nuiton.eugene.java.ObjectModelTransformerToJava
Generates a bean and a helper class around it.
Generates also a model initializer contract which permits you to interact with all classes of your model.
For example:
GeneratedBoat
Boat (extends GeneratedBoat)
GeneratedBoatHelper
BoatHelper (extends AbstractBoats)
- Since:
- 3.0
- Author:
- Tony Chemit - chemit@codelutin.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BeanTransformerTagValuesprotected final EugeneJavaTagValuesprotected booleanFields inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
builder, eugeneTagValuesFields inherited from class org.nuiton.eugene.Transformer
outputModel, outputProperties, outputTemplate, previousTransformerFields inherited from class org.nuiton.eugene.Template
configuration, excludeTemplates, generatedPackages, model, resourcesHelperFields inherited from interface org.nuiton.eugene.TemplateConfiguration
PROP_CLASS_LOADER, PROP_DEFAULT_PACKAGE, PROP_ENCODING, PROP_EXCLUDE_TEMPLATES, PROP_GENERATED_PACKAGES, PROP_LAST_MODIFIED_SOURCE, PROP_OVERWRITE, PROP_VERBOSE, PROP_WRITER_REPORT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddDefaultMethodForNoneBeanSuperClass(org.nuiton.eugene.models.object.ObjectModelClass output, boolean usePCS, List<org.nuiton.eugene.models.object.ObjectModelAttribute> properties) protected booleanaddInterfaces(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClassifier output, String extraInterfaceName) Add all interfaces defines in input class and returns ifSerializableinterface was found.protected voidaddSerializable(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, boolean interfaceFound) protected booleancanGenerateAbstractClass(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName) protected booleancontainsMultiple(List<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes) protected voidcreateAddAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) protected voidcreateAddChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) protected voidcreateContainsAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName) protected voidcreateContainsChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) protected voidcreateGetChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output) protected voidcreateGetChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String simpleType) protected voidcreateGetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String methodPrefix) protected voidcreateGetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String methodPrefix, boolean generateLayzCode, String collectionImplementationType) protected voidcreateIsEmptyMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName) protected voidcreateProperty(org.nuiton.eugene.models.object.ObjectModelClass output, org.nuiton.eugene.models.object.ObjectModelAttribute attr, boolean usePCS, boolean generateBooleanGetMethods, boolean generateNotEmptyCollections) protected voidcreatePropertyChangeSupport(org.nuiton.eugene.models.object.ObjectModelClass output) protected voidcreatePropertyConstant(org.nuiton.eugene.models.object.ObjectModelClassifier output, org.nuiton.eugene.models.object.ObjectModelAttribute attr, String prefix, Set<String> constantNames) protected voidcreateRemoveAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) protected voidcreateRemoveChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) protected voidcreateSetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String simpleType, String constantName, boolean usePCS) protected voidcreateSizeMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName) protected org.nuiton.eugene.models.object.ObjectModelClassgenerateClass(org.nuiton.eugene.models.object.ObjectModelClass input, String className, String abstractClassName) protected org.nuiton.eugene.models.object.ObjectModelClassgenerateGeneratedClass(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass input, String className) protected voidgenerateGeneratedHelper(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass aClass, String typeName, String abstractClassName) protected voidgenerateGeneratedHelperConstructors(org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) protected voidgenerateGeneratedHelperCopyMethods(org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) protected voidgenerateGeneratedHelperFunctions(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) protected voidgenerateGeneratedHelperPredicates(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) protected voidgenerateHelper(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName, String defaultClassName) protected voidgenerateI18nBlockAndConstants(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClassifier output) protected StringgenerateName(String prefix, String name, String suffix) protected StringgetAttributeName(org.nuiton.eugene.models.object.ObjectModelAttribute attr) protected StringgetAttributeType(String attrType) protected StringgetAttributeType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) protected StringgetAttributeTypeWithGeneric(org.nuiton.eugene.models.object.ObjectModelAttribute attr) protected StringgetGeneratedHelperSuperClassName(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass aClass) protected StringgetGetterName(org.nuiton.eugene.models.object.ObjectModelAttribute attribute, String attrName) protected List<org.nuiton.eugene.models.object.ObjectModelAttribute> getProperties(org.nuiton.eugene.models.object.ObjectModelClass input) protected booleannotFoundInClassPath(org.nuiton.eugene.models.object.ObjectModelClass input, String className) voidtransformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input) voidtransformFromModel(org.nuiton.eugene.models.object.ObjectModel model) protected StringwrapPrimitiveType(String attrType) Methods inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
addAnnotation, addAnnotation, addAnnotationParameter, addAttribute, addAttribute, addAttribute, addAttribute, addBlock, addComment, addConstant, addConstant, addConstantsFromDependency, addConstructor, addConstructor, addException, addException, addGeneratedAnnotation, addI18n, addImport, addImport, addImport, addInnerClassifier, addInterface, addInterface, addLiteral, addOperation, addOperation, addOperation, addParameter, addParameter, addStereotype, addTagValue, addTagValue, cloneAttribute, cloneClass, cloneClassifier, cloneClassifier, cloneEnumeration, cloneInterface, cloneOperation, cloneOperationSignature, cloneStereotypes, cloneTagValues, copyClassifier, createAbstractClass, createClass, createEnumeration, createInterface, debugOutputModel, generateI18nBlock, getConstantName, getConstantPrefix, getConstantPrefix, getFileInClassPath, getJavaBeanMethodName, getJavaBeanMethodName, getPackage, getPackage, initConstantPrefixFromModel, initOutputModel, initOutputTemplate, isInClassPath, isInClassPath, isInClassPath, setConstantPrefix, setDocumentation, setMaxMultiplicity, setMinMultiplicity, setNavigable, setOperationBody, setSuperClass, setSuperClassMethods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer
transform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterfaceMethods inherited from class org.nuiton.eugene.Transformer
addOutputProperty, applyTemplate, getDefaultPackageName, getOutputModel, getOutputProperties, getOutputTemplate, init, initPreviousTransformer, transformMethods inherited from class org.nuiton.eugene.Template
getClassLoader, getConfiguration, getEncoding, getExcludeTemplates, getGeneratedPackages, getLastModifiedSource, getModel, getOverwrite, getProperties, getProperty, getProperty, getResourcesHelper, getWriterReport, isOverwrite, isVerbose, setConfiguration, setProperty
-
Field Details
-
useJava8
protected boolean useJava8 -
javaTemplatesTagValues
-
beanTagValues
-
-
Constructor Details
-
BeanTransformer
public BeanTransformer()
-
-
Method Details
-
transformFromModel
public void transformFromModel(org.nuiton.eugene.models.object.ObjectModel model) - Overrides:
transformFromModelin classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
transformFromClass
public void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input) - Overrides:
transformFromClassin classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
generateClass
-
generateGeneratedClass
protected org.nuiton.eugene.models.object.ObjectModelClass generateGeneratedClass(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass input, String className) -
generateHelper
-
generateGeneratedHelper
-
generateGeneratedHelperConstructors
protected void generateGeneratedHelperConstructors(org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) -
generateGeneratedHelperCopyMethods
protected void generateGeneratedHelperCopyMethods(org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) -
generateGeneratedHelperPredicates
protected void generateGeneratedHelperPredicates(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) -
generateGeneratedHelperFunctions
protected void generateGeneratedHelperFunctions(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, String typeName) -
getGeneratedHelperSuperClassName
protected String getGeneratedHelperSuperClassName(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass aClass) -
getAttributeType
-
getAttributeType
-
notFoundInClassPath
protected boolean notFoundInClassPath(org.nuiton.eugene.models.object.ObjectModelClass input, String className) -
createProperty
protected void createProperty(org.nuiton.eugene.models.object.ObjectModelClass output, org.nuiton.eugene.models.object.ObjectModelAttribute attr, boolean usePCS, boolean generateBooleanGetMethods, boolean generateNotEmptyCollections) -
getProperties
protected List<org.nuiton.eugene.models.object.ObjectModelAttribute> getProperties(org.nuiton.eugene.models.object.ObjectModelClass input) -
createGetMethod
-
createGetMethod
-
createGetChildMethod
-
createIsEmptyMethod
protected void createIsEmptyMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName) -
createSizeMethod
protected void createSizeMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName) -
createAddChildMethod
-
createAddAllChildrenMethod
-
createRemoveChildMethod
-
createRemoveAllChildrenMethod
-
createContainsChildMethod
-
createContainsAllChildrenMethod
-
createSetMethod
-
addSerializable
protected void addSerializable(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, boolean interfaceFound) -
addInterfaces
protected boolean addInterfaces(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClassifier output, String extraInterfaceName) Add all interfaces defines in input class and returns ifSerializableinterface was found.- Parameters:
input- the input model class to processoutput- the output generated class- Returns:
trueifSerializablewas found from input,falseotherwise
-
createPropertyChangeSupport
protected void createPropertyChangeSupport(org.nuiton.eugene.models.object.ObjectModelClass output) -
createGetChildMethod
protected void createGetChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output) -
generateI18nBlockAndConstants
protected void generateI18nBlockAndConstants(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClassifier output) -
addDefaultMethodForNoneBeanSuperClass
protected void addDefaultMethodForNoneBeanSuperClass(org.nuiton.eugene.models.object.ObjectModelClass output, boolean usePCS, List<org.nuiton.eugene.models.object.ObjectModelAttribute> properties) -
wrapPrimitiveType
-
getGetterName
-
generateName
-
canGenerateAbstractClass
protected boolean canGenerateAbstractClass(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName) -
createPropertyConstant
-
getAttributeName
-
getAttributeTypeWithGeneric
protected String getAttributeTypeWithGeneric(org.nuiton.eugene.models.object.ObjectModelAttribute attr) -
containsMultiple
protected boolean containsMultiple(List<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes)
-