org.nuiton.topia.generator
Class EntityTransformer

java.lang.Object
  extended by org.nuiton.eugene.Template<I>
      extended by org.nuiton.eugene.Transformer<org.nuiton.eugene.models.object.ObjectModel,O>
          extended by org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
              extended by org.nuiton.eugene.java.ObjectModelTransformerToJava
                  extended by 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 :

Note: The impl will ony be generated in these cases :

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
 
Constructor Summary
EntityTransformer()
           
 
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
 

Field Detail

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
Constructor Detail

EntityTransformer

public EntityTransformer()
Method Detail

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 operation
operationPrefix - 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.