public class EntityTransformer
extends org.nuiton.eugene.java.ObjectModelTransformerToJava
TopiaEntity api for all classifier
with a entity stereotype.
For example, given a House entity, it will generates :
House : contract of entityAbstractHouse : default abstract implementation of entityHouseImpl : default impl of abstract entity
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
generateAbstract |
protected boolean |
generateBooleanGetMethods |
protected boolean |
generateImpl |
protected boolean |
generateInterface |
protected boolean |
generatePropertyChangeSupport |
protected org.nuiton.eugene.models.object.ObjectModelClass |
outputAbstract |
protected org.nuiton.eugene.models.object.ObjectModelClass |
outputImpl |
protected org.nuiton.eugene.models.object.ObjectModelInterface |
outputInterface |
protected TopiaTemplateHelper |
templateHelper |
protected TopiaCoreTagValues |
topiaCoreTagValues |
protected TopiaHibernateTagValues |
topiaHibernateTagValues |
builder, eugeneTagValuesoutputModel, outputProperties, outputTemplate, previousTransformer| Constructor and Description |
|---|
EntityTransformer() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addContextableMethods(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass outputAbstract)
Ajout les methodes necessaire à l'interface
TopiaEntityContextable
si le tagValue TopiaCoreTagValues.Store.contextable est renseigné. |
protected void |
addInterface(List<String> interfaceAlreadyDone,
org.nuiton.eugene.models.object.ObjectModelClassifier output,
Class<?> clazz) |
protected void |
addInterface(List<String> interfaceAlreadyDone,
org.nuiton.eugene.models.object.ObjectModelClassifier output,
org.nuiton.eugene.models.object.ObjectModelClassifier interfaze) |
protected void |
addMultipleAddAllOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleAddAtIndexOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionImpl) |
protected void |
addMultipleAddOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionImpl) |
protected void |
addMultipleClearOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface,
String collectionImpl) |
protected void |
addMultipleContainsOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleGetByIndexOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleGetByTopiaIdOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleGetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface) |
protected void |
addMultipleGetOperationFromEntity(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleGetTopiaIdsOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface,
String collectionImpl) |
protected void |
addMultipleIsEmptyOperations(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected void |
addMultipleRemoveAtIndexOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleRemoveOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
addMultipleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface,
String collectionImpl) |
protected void |
addMultipleSizeOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected void |
addSingleGetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String attrType,
String operationPrefix)
Add getter for simple property (neither association nor multiple).
|
protected void |
addSingleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
clean() |
protected void |
closeAcceptInternalOperation() |
protected void |
createAcceptInternalOperation(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected void |
createAcceptOperation() |
protected void |
createEntityAbstractClass(org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
org.nuiton.eugene.models.object.ObjectModelClass input) |
protected void |
createEntityInterface(org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
org.nuiton.eugene.models.object.ObjectModelClass input) |
protected org.nuiton.eugene.models.object.ObjectModelOperation |
createImplOperation(org.nuiton.eugene.models.object.ObjectModelOperation interfaceOperation) |
protected org.nuiton.eugene.models.object.ObjectModelOperation |
createPropertySetterSignature(org.nuiton.eugene.models.object.ObjectModelClassifier classifier,
String propertyType,
String propertyName,
String operationDocumentation)
TODO-fdesbois-2010-06-25 : This method can be put in JavaBuilder or ObjectModelTransformerToJava
This method create an set operation in
classifier with
propertyType as return type and propertyName used for
operation name ('set[propertyName]'). |
protected void |
generateExtraConstants(org.nuiton.eugene.models.object.ObjectModelClass input)
Generate extra constants if
input has dependencies on
enum used as constant injector. |
protected void |
generateExtraOperations(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected void |
generateImpl(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected void |
generateProperties(Collection<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
Generate properties from
attributes. |
protected void |
generatePropertyAttribute(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected void |
generatePropertyConstant(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
Generate constant in interface for
attribute. |
protected void |
generatePropertyOperations(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
Generation operations for
attributes. |
protected void |
generateSerialVersionUID(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass ouput) |
protected void |
generateToStringOperation(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected String |
getCollectionType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected String |
getPropertyName(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected String |
getPropertyType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
protected boolean |
isAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz) |
protected boolean |
isGenerateAbstract(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected boolean |
isGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected boolean |
isGenerateInterface(org.nuiton.eugene.models.object.ObjectModelClass input) |
void |
transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected void |
updateAcceptOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage) |
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, setSuperClasstransform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterface, transformFromModeladdOutputProperty, applyTemplate, getDefaultPackageName, getOutputModel, getOutputProperties, getOutputTemplate, init, initPreviousTransformer, transformgetClassLoader, getConfiguration, getEncoding, getExcludeTemplates, getGeneratedPackages, getLastModifiedSource, getModel, getOverwrite, getProperties, getProperty, getProperty, getResourcesHelper, getWriterReport, isOverwrite, isVerbose, setConfiguration, setPropertyprotected org.nuiton.eugene.models.object.ObjectModelInterface outputInterface
protected org.nuiton.eugene.models.object.ObjectModelClass outputAbstract
protected org.nuiton.eugene.models.object.ObjectModelClass outputImpl
protected boolean generateInterface
protected boolean generateAbstract
protected boolean generateImpl
protected boolean generateBooleanGetMethods
protected boolean generatePropertyChangeSupport
protected TopiaTemplateHelper templateHelper
protected final TopiaCoreTagValues topiaCoreTagValues
protected final TopiaHibernateTagValues topiaHibernateTagValues
protected void clean()
public void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input)
transformFromClass in class org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>protected void generateSerialVersionUID(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass ouput)
protected void createEntityInterface(org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
org.nuiton.eugene.models.object.ObjectModelClass input)
protected void createEntityAbstractClass(org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
org.nuiton.eugene.models.object.ObjectModelClass input)
protected void addContextableMethods(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass outputAbstract)
TopiaEntityContextable
si le tagValue TopiaCoreTagValues.Store.contextable est renseigné.input - FIXMEoutputAbstract - FIXMEprotected boolean isGenerateInterface(org.nuiton.eugene.models.object.ObjectModelClass input)
protected boolean isGenerateAbstract(org.nuiton.eugene.models.object.ObjectModelClass input)
protected boolean isGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void generateImpl(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void generateExtraConstants(org.nuiton.eugene.models.object.ObjectModelClass input)
input has dependencies on
enum used as constant injector.input - Entity class to treateprotected void generateExtraOperations(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void generateProperties(Collection<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes, org.nuiton.eugene.models.object.ObjectModelClassifier aClass, org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
attributes. Generate
constant, attribute and operations for each property.attributes - Input attributesaClass - FIXMEaPackage - FIXMEprotected void generatePropertyConstant(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
attribute.attribute - Input attribute to treategetPropertyName(ObjectModelAttribute)protected void generatePropertyAttribute(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void generatePropertyOperations(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
attributes.
One method exists for each operation to generate. Methods starting
with 'addSingle' is for maxMultiplicity attribute = 1 and for collection
case, methods start with 'addMultiple'. Other case are take care in each
method (association class, reverse, entity reference, ...).attribute - Input attribute to treateaClass - Input classaPackage - Input packageaddSingleGetOperation(ObjectModelAttribute, String, String),
addSingleSetOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage),
addMultipleAddOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String),
addMultipleAddAllOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage),
addMultipleSetOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String, String),
addMultipleRemoveOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage),
addMultipleClearOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String, String),
addMultipleGetOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String),
addMultipleGetByTopiaIdOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage),
addMultipleGetOperationFromEntity(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage),
addMultipleSizeOperation(ObjectModelAttribute),
addMultipleIsEmptyOperations(ObjectModelAttribute),
addMultipleGetByIndexOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage)protected void addSingleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addSingleGetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String attrType,
String operationPrefix)
outputAbstract and outputInterface.attribute - ObjectModelAttribute for getter operationattrType - type of the attributeoperationPrefix - Operation prefix : 'get' by default, if prefix
is nullprotected void addMultipleAddOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionImpl)
protected void addMultipleAddAtIndexOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionImpl)
protected void addMultipleAddAllOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addMultipleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface,
String collectionImpl)
protected void addMultipleRemoveOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addMultipleRemoveAtIndexOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addMultipleClearOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface,
String collectionImpl)
protected void addMultipleGetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface)
protected void addMultipleGetByIndexOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addMultipleGetByTopiaIdOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addMultipleGetTopiaIdsOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage,
String collectionInterface,
String collectionImpl)
protected void addMultipleGetOperationFromEntity(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void addMultipleSizeOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void addMultipleIsEmptyOperations(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void addMultipleContainsOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void createAcceptOperation()
protected void createAcceptInternalOperation(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void updateAcceptOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModelClassifier aClass,
org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected void closeAcceptInternalOperation()
protected void generateToStringOperation(org.nuiton.eugene.models.object.ObjectModelClass input)
protected boolean isAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz)
protected String getCollectionType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected String getPropertyName(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected String getPropertyType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute, org.nuiton.eugene.models.object.ObjectModelClassifier aClass, org.nuiton.eugene.models.object.ObjectModelPackage aPackage)
protected org.nuiton.eugene.models.object.ObjectModelOperation createImplOperation(org.nuiton.eugene.models.object.ObjectModelOperation interfaceOperation)
protected org.nuiton.eugene.models.object.ObjectModelOperation createPropertySetterSignature(org.nuiton.eugene.models.object.ObjectModelClassifier classifier,
String propertyType,
String propertyName,
String operationDocumentation)
classifier with
propertyType as return type and propertyName used for
operation name ('set[propertyName]'). operationDocument can
also be added to the operation created. Only signature with default
visibility will be added.classifier - Classifier where the operation will be addedpropertyType - Type of the property (better if qualified name)propertyName - Name of the property to setoperationDocumentation - Documentation for the operationprotected void addInterface(List<String> interfaceAlreadyDone, org.nuiton.eugene.models.object.ObjectModelClassifier output, org.nuiton.eugene.models.object.ObjectModelClassifier interfaze)
Copyright © 2004–2016 CodeLutin. All rights reserved.