org.nuiton.topia.generator
Class EntityDAOTransformer

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

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

To generate all DAO related classes for a given entity.

Since:
2.5.4
Author:
tchemit
Plexus component:
role:
"org.nuiton.eugene.Template"
role-hint:
"org.nuiton.topia.generator.EntityDAOTransformer"

Field Summary
protected  Class<?> daoImplementation
          The class of abstract dao to use.
protected  Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>> usages
          map of direct usages (values) for each entity (key).
 
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
EntityDAOTransformer()
           
 
Method Summary
protected  void generateDAOAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz, String clazzName, String clazzFQN)
           
protected  void generateDAOClass(org.nuiton.eugene.models.object.ObjectModelClass clazz, String clazzName, String clazzFQN)
           
protected  void generateDAOImpl(org.nuiton.eugene.models.object.ObjectModelClass clazz, String clazzName, String clazzFQN)
           
protected  void generateDelete(org.nuiton.eugene.models.object.ObjectModelClass clazz, org.nuiton.eugene.models.object.ObjectModelClass result)
           
protected  void generateFindUsages(org.nuiton.eugene.models.object.ObjectModelClass clazz, org.nuiton.eugene.models.object.ObjectModelClass result, Set<org.nuiton.eugene.models.object.ObjectModelClass> usagesForclass)
           
protected  void generateNMultiplicity(String clazzName, org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelAttribute attr)
           
protected  void generateNoNMultiplicity(String clazzName, org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelAttribute attr, boolean isAssoc)
           
 Collection<org.nuiton.eugene.models.object.ObjectModelOperation> getDAOOperations(org.nuiton.eugene.models.object.ObjectModelClass clazz)
          Obtain business operations of the DAO.
 void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass clazz)
           
 void transformFromInterface(org.nuiton.eugene.models.object.ObjectModelInterface interfacez)
           
 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, 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
 
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

usages

protected Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>> usages
map of direct usages (values) for each entity (key).

This map is used to generate the findUsages methods for DAOAbstract.


daoImplementation

protected Class<?> daoImplementation
The class of abstract dao to use.

Since:
2.5
Constructor Detail

EntityDAOTransformer

public EntityDAOTransformer()
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>

transformFromInterface

public void transformFromInterface(org.nuiton.eugene.models.object.ObjectModelInterface interfacez)
Overrides:
transformFromInterface in class org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>

transformFromClass

public void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass clazz)
Overrides:
transformFromClass in class org.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>

generateDAOClass

protected void generateDAOClass(org.nuiton.eugene.models.object.ObjectModelClass clazz,
                                String clazzName,
                                String clazzFQN)

generateDAOImpl

protected void generateDAOImpl(org.nuiton.eugene.models.object.ObjectModelClass clazz,
                               String clazzName,
                               String clazzFQN)

generateDAOAbstract

protected void generateDAOAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz,
                                   String clazzName,
                                   String clazzFQN)

generateDelete

protected void generateDelete(org.nuiton.eugene.models.object.ObjectModelClass clazz,
                              org.nuiton.eugene.models.object.ObjectModelClass result)

generateFindUsages

protected void generateFindUsages(org.nuiton.eugene.models.object.ObjectModelClass clazz,
                                  org.nuiton.eugene.models.object.ObjectModelClass result,
                                  Set<org.nuiton.eugene.models.object.ObjectModelClass> usagesForclass)

generateNoNMultiplicity

protected void generateNoNMultiplicity(String clazzName,
                                       org.nuiton.eugene.models.object.ObjectModelClass result,
                                       org.nuiton.eugene.models.object.ObjectModelAttribute attr,
                                       boolean isAssoc)

generateNMultiplicity

protected void generateNMultiplicity(String clazzName,
                                     org.nuiton.eugene.models.object.ObjectModelClass result,
                                     org.nuiton.eugene.models.object.ObjectModelAttribute attr)

getDAOOperations

public Collection<org.nuiton.eugene.models.object.ObjectModelOperation> getDAOOperations(org.nuiton.eugene.models.object.ObjectModelClass clazz)
Obtain business operations of the DAO. This operations can not be generated, but must be written by developper.

Parameters:
clazz - the clazz to test.
Returns:
collections of extra operations, or empty collection if none found.


Copyright © 2004-2011 CodeLutin. All Rights Reserved.