org.nuiton.wikitty.generator
Class WikittyContractGenerator

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.wikitty.generator.WikittyContractGenerator
All Implemented Interfaces:
org.nuiton.eugene.TemplateConfiguration

public class WikittyContractGenerator
extends org.nuiton.eugene.java.ObjectModelTransformerToJava

Wikitty interface générator.

Plexus component:
role:
"org.nuiton.eugene.Template"
role-hint:
"org.nuiton.wikitty.generator.WikittyContractGenerator"

Field Summary
protected  Map<org.nuiton.eugene.models.object.ObjectModelClass,org.nuiton.eugene.models.object.ObjectModelInterface> processedClasses
          Will permet to get the result of a processed class it is useful for dealing with inheritence : when an extension depend of another.
protected  Set<org.nuiton.eugene.models.object.ObjectModelClass> processedEntities
           
 
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
WikittyContractGenerator()
           
 
Method Summary
protected  void addOperationWithName(org.nuiton.eugene.models.object.ObjectModelInterface contract, org.nuiton.eugene.models.object.ObjectModelAttribute attribute, String getterSetterName)
          Methode de génération des methodes (sans corps) qui permet de generer des methodes avec des nom différent suivant si on l'appel pour générer le operation de la classe actuelle ou celles de ses super classes.
protected  org.nuiton.eugene.models.object.ObjectModelInterface prepareOutputClass(org.nuiton.eugene.models.object.ObjectModelClass businessEntity)
          Contains code commons to entities and meta-extensions.
protected  void processEntity(org.nuiton.eugene.models.object.ObjectModelClass businessEntity)
           
protected  void processMetaExtension(org.nuiton.eugene.models.object.ObjectModelClass metaExtension)
          Add stuff if input model element is stereotyped as "meta".
 void transformFromModel(org.nuiton.eugene.models.object.ObjectModel model)
           
 
Methods inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
addAnnotation, addAttribute, addAttribute, addAttribute, addAttribute, addBlock, addComment, addConstant, addConstant, addConstantsFromDependency, addConstructor, addConstructor, addException, addException, 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, initConstantPrefixFromModel, initOutputModel, initOutputTemplate, isInClassPath, isInClassPath, setConstantPrefix, setDocumentation, setMaxMultiplicity, setMinMultiplicity, setNavigable, setOperationBody, setSuperClass, setSuperClass
 
Methods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer
transform, transformFromClass, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterface
 
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

processedClasses

protected Map<org.nuiton.eugene.models.object.ObjectModelClass,org.nuiton.eugene.models.object.ObjectModelInterface> processedClasses
Will permet to get the result of a processed class it is useful for dealing with inheritence : when an extension depend of another. In this case the child can find the processed class of the parent and then look into it to find methods and data to copy.


processedEntities

protected Set<org.nuiton.eugene.models.object.ObjectModelClass> processedEntities
Constructor Detail

WikittyContractGenerator

public WikittyContractGenerator()
Method Detail

transformFromModel

public void transformFromModel(org.nuiton.eugene.models.object.ObjectModel model)
Overrides:
transformFromModel in class org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>

prepareOutputClass

protected org.nuiton.eugene.models.object.ObjectModelInterface prepareOutputClass(org.nuiton.eugene.models.object.ObjectModelClass businessEntity)
Contains code commons to entities and meta-extensions.

Parameters:
businessEntity -
Returns:

processEntity

protected void processEntity(org.nuiton.eugene.models.object.ObjectModelClass businessEntity)

addOperationWithName

protected void addOperationWithName(org.nuiton.eugene.models.object.ObjectModelInterface contract,
                                    org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
                                    String getterSetterName)
Methode de génération des methodes (sans corps) qui permet de generer des methodes avec des nom différent suivant si on l'appel pour générer le operation de la classe actuelle ou celles de ses super classes.

Parameters:
contract - class a générer
attribute - attribut dont on veut generer les opérations
getterSetterName - le nom du getter (peut etre différent du nom de l'attribut dans le cas d'un heritage multiples)

processMetaExtension

protected void processMetaExtension(org.nuiton.eugene.models.object.ObjectModelClass metaExtension)
Add stuff if input model element is stereotyped as "meta".

Parameters:
metaExtension -


Copyright © 2009-2012 CodeLutin. All Rights Reserved.