@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 entityModifier 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, eugeneTagValues
outputModel, 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, setSuperClass
transform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterface, transformFromModel
addOutputProperty, applyTemplate, getDefaultPackageName, getOutputModel, getOutputProperties, getOutputTemplate, init, initPreviousTransformer, transform
getClassLoader, getConfiguration, getEncoding, getExcludeTemplates, getGeneratedPackages, getLastModifiedSource, getModel, getOverwrite, getProperties, getProperty, getProperty, getResourcesHelper, getWriterReport, isOverwrite, isVerbose, setConfiguration, setProperty
protected 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.