Package org.nuiton.topia.generator
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.generator.EntityDAOTransformer
- All Implemented Interfaces:
org.nuiton.eugene.TemplateConfiguration
@Component(role=org.nuiton.eugene.Template.class,
hint="org.nuiton.topia.generator.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:
- tchemit <chemit@codelutin.com>
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Class<?>daoImplementationThe class of abstract dao to use.protected java.lang.StringentityEnumNameprotected java.lang.StringentityEnumPackageprotected java.util.Map<org.nuiton.eugene.models.object.ObjectModelClass,java.util.Set<org.nuiton.eugene.models.object.ObjectModelClass>>usagesmap of direct usages (values) for each entity (key).Fields inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
builder, eugeneTagValuesFields inherited from class org.nuiton.eugene.Transformer
outputModel, outputProperties, outputTemplate, previousTransformer -
Constructor Summary
Constructors Constructor Description EntityDAOTransformer() -
Method Summary
Modifier and Type Method Description protected voidgenerateDAOAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz, java.lang.String clazzName, java.lang.String clazzFQN)protected voidgenerateDAOClass(org.nuiton.eugene.models.object.ObjectModelClass clazz, java.lang.String clazzName, java.lang.String clazzFQN)protected voidgenerateDAOImpl(org.nuiton.eugene.models.object.ObjectModelClass clazz, java.lang.String clazzName, java.lang.String clazzFQN)protected voidgenerateDelete(org.nuiton.eugene.models.object.ObjectModelClass clazz, org.nuiton.eugene.models.object.ObjectModelClass result)protected voidgenerateFindUsages(org.nuiton.eugene.models.object.ObjectModelClass clazz, org.nuiton.eugene.models.object.ObjectModelClass result, java.util.Set<org.nuiton.eugene.models.object.ObjectModelClass> usagesForclass)protected voidgenerateNMultiplicity(java.lang.String clazzName, org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelAttribute attr)protected voidgenerateNoNMultiplicity(java.lang.String clazzName, org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelAttribute attr, boolean isAssoc)java.util.Collection<org.nuiton.eugene.models.object.ObjectModelOperation>getDAOOperations(org.nuiton.eugene.models.object.ObjectModelClass clazz)Obtain business operations of the DAO.protected booleanisGenerateDAO(org.nuiton.eugene.models.object.ObjectModelClass input)protected booleanisGenerateDAOAbstract(org.nuiton.eugene.models.object.ObjectModelClass input)protected booleanisGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input)voidtransformFromClass(org.nuiton.eugene.models.object.ObjectModelClass clazz)voidtransformFromInterface(org.nuiton.eugene.models.object.ObjectModelInterface interfacez)voidtransformFromModel(org.nuiton.eugene.models.object.ObjectModel model)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, setSuperClassMethods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer
transform, transformFromClassifier, transformFromElement, transformFromEnumerationMethods inherited from class org.nuiton.eugene.Transformer
addOutputProperty, applyTemplate, getDefaultPackageName, getOutputModel, getOutputProperties, getOutputTemplate, init, initPreviousTransformer, transformMethods inherited from class org.nuiton.eugene.Template
getClassLoader, getConfiguration, getEncoding, getExcludeTemplates, getGeneratedPackages, getLastModifiedSource, getModel, getOverwrite, getProperties, getProperty, getProperty, getResourcesHelper, getWriterReport, isOverwrite, isVerbose, setConfiguration, setProperty
-
Field Details
-
usages
protected java.util.Map<org.nuiton.eugene.models.object.ObjectModelClass,java.util.Set<org.nuiton.eugene.models.object.ObjectModelClass>> usagesmap of direct usages (values) for each entity (key). This map is used to generate the findUsages methods for DAOAbstract. -
daoImplementation
protected java.lang.Class<?> daoImplementationThe class of abstract dao to use.- Since:
- 2.5
-
entityEnumName
protected java.lang.String entityEnumName -
entityEnumPackage
protected java.lang.String entityEnumPackage
-
-
Constructor Details
-
EntityDAOTransformer
public EntityDAOTransformer()
-
-
Method Details
-
transformFromModel
public void transformFromModel(org.nuiton.eugene.models.object.ObjectModel model)- Overrides:
transformFromModelin classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
transformFromInterface
public void transformFromInterface(org.nuiton.eugene.models.object.ObjectModelInterface interfacez)- Overrides:
transformFromInterfacein classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
transformFromClass
public void transformFromClass(org.nuiton.eugene.models.object.ObjectModelClass clazz)- Overrides:
transformFromClassin classorg.nuiton.eugene.models.object.ObjectModelTransformer<org.nuiton.eugene.models.object.ObjectModel>
-
isGenerateDAO
protected boolean isGenerateDAO(org.nuiton.eugene.models.object.ObjectModelClass input) -
isGenerateDAOAbstract
protected boolean isGenerateDAOAbstract(org.nuiton.eugene.models.object.ObjectModelClass input) -
isGenerateImpl
protected boolean isGenerateImpl(org.nuiton.eugene.models.object.ObjectModelClass input) -
generateDAOClass
protected void generateDAOClass(org.nuiton.eugene.models.object.ObjectModelClass clazz, java.lang.String clazzName, java.lang.String clazzFQN) -
generateDAOImpl
protected void generateDAOImpl(org.nuiton.eugene.models.object.ObjectModelClass clazz, java.lang.String clazzName, java.lang.String clazzFQN) -
generateDAOAbstract
protected void generateDAOAbstract(org.nuiton.eugene.models.object.ObjectModelClass clazz, java.lang.String clazzName, java.lang.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, java.util.Set<org.nuiton.eugene.models.object.ObjectModelClass> usagesForclass) -
generateNoNMultiplicity
protected void generateNoNMultiplicity(java.lang.String clazzName, org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelAttribute attr, boolean isAssoc) -
generateNMultiplicity
protected void generateNMultiplicity(java.lang.String clazzName, org.nuiton.eugene.models.object.ObjectModelClass result, org.nuiton.eugene.models.object.ObjectModelAttribute attr) -
getDAOOperations
public java.util.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.
-