Package org.nuiton.eugene.java
Class BeanTransformer
- java.lang.Object
-
- org.nuiton.eugene.Template<I>
-
- org.nuiton.eugene.Transformer<org.nuiton.eugene.models.object.ObjectModel,O>
-
- 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
Fields Modifier and Type Field Description protected BeanTransformerTagValues
beanTagValues
protected EugeneJavaTagValues
javaTemplatesTagValues
protected boolean
useJava8
-
Fields inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
builder, eugeneTagValues
-
Fields inherited from class org.nuiton.eugene.Transformer
outputModel, outputProperties, outputTemplate, previousTransformer
-
-
Constructor Summary
Constructors Constructor Description BeanTransformer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addDefaultMethodForNoneBeanSuperClass(org.nuiton.eugene.models.object.ObjectModelClass output, boolean usePCS, List<org.nuiton.eugene.models.object.ObjectModelAttribute> properties)
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 ifSerializable
interface was found.protected void
addSerializable(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, boolean interfaceFound)
protected boolean
canGenerateAbstractClass(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName)
protected boolean
containsMultiple(List<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes)
protected void
createAddAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
protected void
createAddChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
protected void
createContainsAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName)
protected void
createContainsChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
protected void
createGetChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output)
protected void
createGetChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String simpleType)
protected void
createGetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String methodPrefix)
protected void
createGetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String methodPrefix, boolean generateLayzCode, String collectionImplementationType)
protected void
createIsEmptyMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName)
protected void
createProperty(org.nuiton.eugene.models.object.ObjectModelClass output, org.nuiton.eugene.models.object.ObjectModelAttribute attr, boolean usePCS, boolean generateBooleanGetMethods, boolean generateNotEmptyCollections)
protected void
createPropertyChangeSupport(org.nuiton.eugene.models.object.ObjectModelClass output)
protected void
createPropertyConstant(org.nuiton.eugene.models.object.ObjectModelClassifier output, org.nuiton.eugene.models.object.ObjectModelAttribute attr, String prefix, Set<String> constantNames)
protected void
createRemoveAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
protected void
createRemoveChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
protected void
createSetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String simpleType, String constantName, boolean usePCS)
protected void
createSizeMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName)
protected org.nuiton.eugene.models.object.ObjectModelClass
generateClass(org.nuiton.eugene.models.object.ObjectModelClass input, String className, String abstractClassName)
protected org.nuiton.eugene.models.object.ObjectModelClass
generateGeneratedClass(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass input, String className)
protected void
generateGeneratedHelper(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass aClass, String typeName, String abstractClassName)
protected void
generateGeneratedHelperConstructors(org.nuiton.eugene.models.object.ObjectModelClass output, String typeName)
protected void
generateGeneratedHelperCopyMethods(org.nuiton.eugene.models.object.ObjectModelClass output, String typeName)
protected void
generateGeneratedHelperFunctions(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, String typeName)
protected void
generateGeneratedHelperPredicates(org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClass output, String typeName)
protected void
generateHelper(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName, String defaultClassName)
protected void
generateI18nBlockAndConstants(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass input, org.nuiton.eugene.models.object.ObjectModelClassifier output)
protected String
generateName(String prefix, String name, String suffix)
protected String
getAttributeName(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
protected String
getAttributeType(String attrType)
protected String
getAttributeType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
protected String
getAttributeTypeWithGeneric(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
protected String
getGeneratedHelperSuperClassName(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass aClass)
protected String
getGetterName(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 boolean
notFoundInClassPath(org.nuiton.eugene.models.object.ObjectModelClass input, String className)
void
transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input)
void
transformFromModel(org.nuiton.eugene.models.object.ObjectModel model)
protected String
wrapPrimitiveType(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, setSuperClass
-
Methods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer
transform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterface
-
Methods inherited from class org.nuiton.eugene.Transformer
addOutputProperty, applyTemplate, getDefaultPackageName, getOutputModel, getOutputProperties, getOutputTemplate, init, initPreviousTransformer, transform
-
Methods 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 Detail
-
useJava8
protected boolean useJava8
-
javaTemplatesTagValues
protected final EugeneJavaTagValues javaTemplatesTagValues
-
beanTagValues
protected final BeanTransformerTagValues beanTagValues
-
-
Method Detail
-
transformFromModel
public void transformFromModel(org.nuiton.eugene.models.object.ObjectModel model)
- Overrides:
transformFromModel
in classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
transformFromClass
public void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input)
- Overrides:
transformFromClass
in classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
generateClass
protected org.nuiton.eugene.models.object.ObjectModelClass generateClass(org.nuiton.eugene.models.object.ObjectModelClass input, String className, String abstractClassName)
-
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
protected void generateHelper(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName, String defaultClassName)
-
generateGeneratedHelper
protected void generateGeneratedHelper(org.nuiton.eugene.models.object.ObjectModelPackage aPackage, org.nuiton.eugene.models.object.ObjectModelClass aClass, String typeName, String abstractClassName)
-
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
protected String getAttributeType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
-
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
protected void createGetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String methodPrefix, boolean generateLayzCode, String collectionImplementationType)
-
createGetMethod
protected void createGetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String methodPrefix)
-
createGetChildMethod
protected void createGetChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String simpleType)
-
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
protected void createAddChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
-
createAddAllChildrenMethod
protected void createAddAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
-
createRemoveChildMethod
protected void createRemoveChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
-
createRemoveAllChildrenMethod
protected void createRemoveAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
-
createContainsChildMethod
protected void createContainsChildMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS)
-
createContainsAllChildrenMethod
protected void createContainsAllChildrenMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String constantName)
-
createSetMethod
protected void createSetMethod(org.nuiton.eugene.models.object.ObjectModelClass output, String attrName, String attrType, String simpleType, String constantName, boolean usePCS)
-
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 ifSerializable
interface was found.- Parameters:
input
- the input model class to processoutput
- the output generated class- Returns:
true
ifSerializable
was found from input,false
otherwise
-
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)
-
getGetterName
protected String getGetterName(org.nuiton.eugene.models.object.ObjectModelAttribute attribute, String attrName)
-
canGenerateAbstractClass
protected boolean canGenerateAbstractClass(org.nuiton.eugene.models.object.ObjectModelClass aClass, String abstractClassName)
-
createPropertyConstant
protected void createPropertyConstant(org.nuiton.eugene.models.object.ObjectModelClassifier output, org.nuiton.eugene.models.object.ObjectModelAttribute attr, String prefix, Set<String> constantNames)
-
getAttributeName
protected String getAttributeName(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
-
getAttributeTypeWithGeneric
protected String getAttributeTypeWithGeneric(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
-
containsMultiple
protected boolean containsMultiple(List<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes)
-
-