org.nuiton.topia.generator
Class EntityTransformer
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.topia.generator.EntityTransformer
- All Implemented Interfaces:
- org.nuiton.eugene.TemplateConfiguration
public class EntityTransformer
- extends org.nuiton.eugene.java.ObjectModelTransformerToJava
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 entity
AbstractHouse : default abstract implementation of entity
HouseImpl : default impl of abstract entity
Note: The impl will ony be generated in these cases :
- There is no abstract method
- There is no already defined such class in class-path
- Since:
- 2.3.4
- Author:
- tchemit
- Plexus component:
- role:
- "org.nuiton.eugene.Template"
- role-hint:
- "org.nuiton.topia.generator.EntityTransformer"
|
|
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
|
| 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 |
|
Method Summary |
protected void |
addInterfaceAssociationAttribute(org.nuiton.eugene.models.object.ObjectModelInterface output,
org.nuiton.eugene.models.object.ObjectModelAttribute attr)
|
protected void |
addInterfaceNoneAssociationAttribute(org.nuiton.eugene.models.object.ObjectModelInterface output,
org.nuiton.eugene.models.object.ObjectModelAttribute attr)
|
protected void |
addSimpleGetterOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String operationPrefix)
Add getter for simple property (neither association nor multiple). |
protected void |
clean()
|
protected void |
generateAbstract(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass output,
Collection<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
|
protected void |
generateAcceptMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
|
protected void |
generateAggregateMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
|
protected void |
generateCompositeMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
|
protected void |
generateImpl(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass output)
|
protected void |
generateInterface(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelInterface output,
Collection<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
|
protected void |
generateToStringMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
|
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)
|
protected void |
transformAttribute(org.nuiton.eugene.models.object.ObjectModelClass result,
org.nuiton.eugene.models.object.ObjectModelAttribute attr,
org.nuiton.eugene.models.object.ObjectModelAttribute reverse)
|
void |
transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input)
|
| Methods inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava |
addAnnotation, addAttribute, addAttribute, addAttribute, addAttribute, addBlock, addConstant, addConstant, addConstantsFromDependency, addConstructor, addConstructor, addException, addException, addImport, addImport, addImport, addInnerClassifier, addInterface, addInterface, addLiteral, addOperation, addOperation, addParameter, addParameter, createAbstractClass, createClass, createEnumeration, createInterface, debugOutputModel, getConstantName, getConstantPrefix, getConstantPrefix, getFileInClassPath, initOutputModel, initOutputTemplate, setConstantPrefix, setDocumentation, 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, setProperties, 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 |
outputInterface
protected org.nuiton.eugene.models.object.ObjectModelInterface outputInterface
outputAbstract
protected org.nuiton.eugene.models.object.ObjectModelClass outputAbstract
outputImpl
protected org.nuiton.eugene.models.object.ObjectModelClass outputImpl
EntityTransformer
public EntityTransformer()
clean
protected void clean()
transformFromClass
public void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass input)
- Overrides:
transformFromClass in class org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
isGenerateImpl
protected boolean isGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
generateInterface
protected void generateInterface(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelInterface output,
Collection<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
generateAbstract
protected void generateAbstract(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass output,
Collection<org.nuiton.eugene.models.object.ObjectModelAttribute> attributes,
Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
generateImpl
protected void generateImpl(org.nuiton.eugene.models.object.ObjectModelClass input,
org.nuiton.eugene.models.object.ObjectModelClass output)
addInterfaceNoneAssociationAttribute
protected void addInterfaceNoneAssociationAttribute(org.nuiton.eugene.models.object.ObjectModelInterface output,
org.nuiton.eugene.models.object.ObjectModelAttribute attr)
addInterfaceAssociationAttribute
protected void addInterfaceAssociationAttribute(org.nuiton.eugene.models.object.ObjectModelInterface output,
org.nuiton.eugene.models.object.ObjectModelAttribute attr)
transformAttribute
protected void transformAttribute(org.nuiton.eugene.models.object.ObjectModelClass result,
org.nuiton.eugene.models.object.ObjectModelAttribute attr,
org.nuiton.eugene.models.object.ObjectModelAttribute reverse)
addSimpleGetterOperation
protected void addSimpleGetterOperation(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
String operationPrefix)
- Add getter for simple property (neither association nor multiple).
Will add two different operations for boolean case ('is' method and
'get' method). This method add the operation in both
outputAbstract and outputInterface.
- Parameters:
attribute - ObjectModelAttribute for getter operationoperationPrefix - Operation prefix : 'get' by default, if prefix
is null
generateToStringMethod
protected void generateToStringMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
generateCompositeMethod
protected void generateCompositeMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
generateAggregateMethod
protected void generateAggregateMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
generateAcceptMethod
protected void generateAcceptMethod(org.nuiton.eugene.models.object.ObjectModelClass output,
org.nuiton.eugene.models.object.ObjectModelClass clazz)
isAbstract
protected boolean isAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz)
Copyright © 2004-2010 CodeLutin. All Rights Reserved.