@Component(role=org.nuiton.eugene.Template.class,
hint="org.nuiton.topia.generator.EntityTransformer")
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 org.nuiton.eugene.models.object.ObjectModelClass |
outputAbstract |
protected org.nuiton.eugene.models.object.ObjectModelClass |
outputImpl |
protected org.nuiton.eugene.models.object.ObjectModelInterface |
outputInterface |
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 TopiaTagValues.TAG_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,
String collectionInterface) |
protected void |
addMultipleAddOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionImpl) |
protected void |
addMultipleClearOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionInterface,
String collectionImpl) |
protected void |
addMultipleGetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionInterface) |
protected void |
addMultipleGetOperationFromEntity(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected void |
addMultipleGetTopiaIdOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected void |
addMultipleIsEmptyOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected void |
addMultipleRemoveOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
protected void |
addMultipleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
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) |
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.ObjectModelClass input) |
protected void |
createEntityInterface(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 |
generateAggregateOperation(org.nuiton.eugene.models.object.ObjectModelClass input) |
protected void |
generateCompositeOperation(org.nuiton.eugene.models.object.ObjectModelClass input) |
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)
Generate properties from
attributes. |
protected void |
generatePropertyAttribute(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
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)
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) |
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) |
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 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.ObjectModelClass input)
protected void createEntityAbstractClass(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 TopiaTagValues.TAG_CONTEXTABLE est renseigné.input - outputAbstract - protected 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)
attributes. Generate
constant, attribute and operations for each property.attributes - Input attributesprotected 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)
protected void generatePropertyOperations(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
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 treateaddSingleGetOperation(ObjectModelAttribute, String, String),
addSingleSetOperation(ObjectModelAttribute),
addMultipleAddOperation(ObjectModelAttribute, String),
addMultipleAddAllOperation(ObjectModelAttribute, String),
addMultipleSetOperation(ObjectModelAttribute, String, String),
addMultipleRemoveOperation(ObjectModelAttribute),
addMultipleClearOperation(ObjectModelAttribute, String, String),
addMultipleGetOperation(ObjectModelAttribute, String),
addMultipleGetTopiaIdOperation(ObjectModelAttribute),
addMultipleGetOperationFromEntity(ObjectModelAttribute),
addMultipleSizeOperation(ObjectModelAttribute),
addMultipleIsEmptyOperation(ObjectModelAttribute)protected void addSingleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
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,
String collectionImpl)
protected void addMultipleAddAllOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionInterface)
protected void addMultipleSetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionInterface,
String collectionImpl)
protected void addMultipleRemoveOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void addMultipleClearOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionInterface,
String collectionImpl)
protected void addMultipleGetOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String collectionInterface)
protected void addMultipleGetTopiaIdOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void addMultipleGetOperationFromEntity(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void addMultipleSizeOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void addMultipleIsEmptyOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void createAcceptOperation()
protected void createAcceptInternalOperation(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void updateAcceptOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void closeAcceptInternalOperation()
protected void generateToStringOperation(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void generateCompositeOperation(org.nuiton.eugene.models.object.ObjectModelClass input)
protected void generateAggregateOperation(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)
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–2022 Code Lutin. All rights reserved.