Class EntityDaoTransformer

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

@Component(role=org.nuiton.eugene.Template.class, hint="org.nuiton.topia.templates.EntityDaoTransformer") public class EntityDaoTransformer extends org.nuiton.eugene.java.ObjectModelTransformerToJava
To generate all DAO related classes for a given entity.
Since:
2.5.4
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Set<String>
    All entities fqn of the model (used to detect if an attribute is not an entity).
    protected String
     
    protected String
     
     
    protected final TopiaCoreTagValues
     
    protected final TopiaHibernateTagValues
     
    protected Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>>
    map of direct usages (values) for each entity (key).

    Fields inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava

    builder, eugeneTagValues

    Fields inherited from class org.nuiton.eugene.Transformer

    outputModel, outputProperties, outputTemplate, previousTransformer

    Fields inherited from class org.nuiton.eugene.Template

    configuration, excludeTemplates, generatedPackages, model, resourcesHelper

    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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    generateAbstractDao(org.nuiton.eugene.models.object.ObjectModelClass clazz, String clazzName, String clazzFQN)
     
    protected void
    generateAggregateOperation(org.nuiton.eugene.models.object.ObjectModelClass outputAbstract, org.nuiton.eugene.models.object.ObjectModelClass input)
     
    protected void
    generateCompositeOperation(org.nuiton.eugene.models.object.ObjectModelClass outputAbstract, org.nuiton.eugene.models.object.ObjectModelClass input)
     
    protected void
    generateConcreteDao(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
    generateGeneratedDao(org.nuiton.eugene.models.object.ObjectModelClass clazz, String clazzName, String clazzFQN)
     
    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)
     
    protected void
    generateNotNull(org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelClass clazz)
     
    protected void
     
    protected boolean
    isGenerateAbstractDao(org.nuiton.eugene.models.object.ObjectModelClass input)
     
    protected boolean
    isGenerateConcreteDao(org.nuiton.eugene.models.object.ObjectModelClass input)
     
    protected boolean
    isGenerateGeneratedDao(org.nuiton.eugene.models.object.ObjectModelClass input)
     
    void
    transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass clazz)
     
    void
    transformFromModel(org.nuiton.eugene.models.object.ObjectModel model)
     
    protected void
    warnOnLegacyClassDetected(String packageName, String legacyDaoName, String daoName, String daoGenerics, String superclassQualifiedName)
     

    Methods inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava

    addAnnotation, addAnnotation, addAnnotationParameter, addAttribute, addAttribute, addAttribute, addAttribute, addBlock, addComment, addConstant, addConstant, addConstantsFromDependency, addConstructor, addConstructor, addException, addException, addGeneratedAnnotation, 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, getJavaBeanMethodName, getPackage, getPackage, initConstantPrefixFromModel, initOutputModel, initOutputTemplate, isInClassPath, isInClassPath, isInClassPath, setConstantPrefix, setDocumentation, setMaxMultiplicity, setMinMultiplicity, setNavigable, setOperationBody, setSuperClass, setSuperClass

    Methods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer

    transform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterface

    Methods inherited from class org.nuiton.eugene.Transformer

    addOutputProperty, applyTemplate, getDefaultPackageName, 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, getResourcesHelper, getWriterReport, isOverwrite, isVerbose, setConfiguration, setProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • 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.
    • allEntitiesFqn

      protected Set<String> allEntitiesFqn
      All entities fqn of the model (used to detect if an attribute is not an entity).
    • entityEnumName

      protected String entityEnumName
    • entityEnumPackage

      protected String entityEnumPackage
    • templateHelper

      protected TopiaTemplateHelper templateHelper
    • topiaCoreTagValues

      protected final TopiaCoreTagValues topiaCoreTagValues
    • topiaHibernateTagValues

      protected final TopiaHibernateTagValues topiaHibernateTagValues
  • Constructor Details

    • EntityDaoTransformer

      public EntityDaoTransformer()
  • Method Details

    • 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>
    • 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>
    • isGenerateConcreteDao

      protected boolean isGenerateConcreteDao(org.nuiton.eugene.models.object.ObjectModelClass input)
    • isGenerateGeneratedDao

      protected boolean isGenerateGeneratedDao(org.nuiton.eugene.models.object.ObjectModelClass input)
    • isGenerateAbstractDao

      protected boolean isGenerateAbstractDao(org.nuiton.eugene.models.object.ObjectModelClass input)
    • generateConcreteDao

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

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

      protected void warnOnLegacyClassDetected(String packageName, String legacyDaoName, String daoName, String daoGenerics, String superclassQualifiedName)
    • generateParentDao

      protected void generateParentDao()
    • generateGeneratedDao

      protected void generateGeneratedDao(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)
    • generateNotNull

      protected void generateNotNull(org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelClass clazz)
    • generateCompositeOperation

      protected void generateCompositeOperation(org.nuiton.eugene.models.object.ObjectModelClass outputAbstract, org.nuiton.eugene.models.object.ObjectModelClass input)
    • generateAggregateOperation

      protected void generateAggregateOperation(org.nuiton.eugene.models.object.ObjectModelClass outputAbstract, org.nuiton.eugene.models.object.ObjectModelClass input)