|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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.topia.generator.EntityTransformer
public class EntityTransformer
A template to generate all the 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
|
| Field Summary | |
|---|---|
protected org.nuiton.eugene.models.object.ObjectModelClass |
outputAbstract
|
protected org.nuiton.eugene.models.object.ObjectModelClass |
outputImpl
|
protected org.nuiton.eugene.models.object.ObjectModelInterface |
outputInterface
|
static String |
SERIAL_VERSION_UID
|
| Fields inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava |
|---|
builder |
| Fields inherited from class org.nuiton.eugene.Transformer |
|---|
outputModel, outputProperties, outputTemplate, previousTransformer |
| Fields inherited from class org.nuiton.eugene.Template |
|---|
configuration, excludeTemplates, generatedPackages, model |
| Fields 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 | |
|---|---|
EntityTransformer()
|
|
| Method Summary | |
|---|---|
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 |
addI18n(StringBuilder buffer,
String i18nPrefix,
String suffix)
Deprecated. since 2.5, use the ObjectModelTransformerToJava.addI18n(StringBuilder, String, String) |
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 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 |
closeAcceptOperation()
|
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 |
generateI18nBlock(org.nuiton.eugene.models.object.ObjectModelClass input,
String i18nPrefix)
Deprecated. since 2.5, use the ObjectModelTransformerToJava.generateI18nBlock(ObjectModelClassifier, ObjectModelClassifier, String) |
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 |
isGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
|
void |
transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input)
|
protected void |
updateAcceptOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
|
| Methods inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava |
|---|
addAnnotation, addAttribute, addAttribute, addAttribute, addAttribute, addBlock, addComment, addConstant, addConstant, addConstantsFromDependency, addConstructor, addConstructor, addException, addException, 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, initConstantPrefixFromModel, initOutputModel, initOutputTemplate, setConstantPrefix, setDocumentation, setMaxMultiplicity, setMinMultiplicity, setNavigable, setOperationBody, setSuperClass, setSuperClass |
| Methods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer |
|---|
transform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterface, transformFromModel |
| Methods inherited from class org.nuiton.eugene.Transformer |
|---|
applyTemplate, 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, getWriterReport, isOverwrite, isVerbose, setConfiguration, setProperty |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String SERIAL_VERSION_UID
protected org.nuiton.eugene.models.object.ObjectModelInterface outputInterface
protected org.nuiton.eugene.models.object.ObjectModelClass outputAbstract
protected org.nuiton.eugene.models.object.ObjectModelClass outputImpl
| Constructor Detail |
|---|
public EntityTransformer()
| Method Detail |
|---|
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 isGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
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),
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 operationPrefix)
outputAbstract and outputInterface.
attribute - ObjectModelAttribute for getter operationoperationPrefix - Operation prefix : 'get' by default, if prefix
is null
protected 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 updateAcceptOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
protected void closeAcceptOperation()
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)
@Deprecated
protected void generateI18nBlock(org.nuiton.eugene.models.object.ObjectModelClass input,
String i18nPrefix)
ObjectModelTransformerToJava.generateI18nBlock(ObjectModelClassifier, ObjectModelClassifier, String)
@Deprecated
protected void addI18n(StringBuilder buffer,
String i18nPrefix,
String suffix)
ObjectModelTransformerToJava.addI18n(StringBuilder, String, String)
addI18n in class org.nuiton.eugene.java.ObjectModelTransformerToJavaprotected 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 operation
protected void addInterface(List<String> interfaceAlreadyDone,
org.nuiton.eugene.models.object.ObjectModelClassifier output,
org.nuiton.eugene.models.object.ObjectModelClassifier interfaze)
protected void addInterface(List<String> interfaceAlreadyDone,
org.nuiton.eugene.models.object.ObjectModelClassifier output,
Class<?> clazz)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||