public class TopiaTemplateHelper extends Object
TopiageneratorUtil car on ne veut plus utiliser de méthodes
statiques (par exemple pour avoir les valeurs par défaut des tagValues,...).
Created on 7/6/14.| Modifier and Type | Field and Description |
|---|---|
String |
DEFAULT_INHERITANCE_STRATEGY
Stratégie d'heritage par defaut.
|
String |
DEFAULT_PACKAGE
Le package par défaut si aucun n'est spécifié
|
protected org.nuiton.eugene.EugeneCoreTagValues |
eugeneTagValues |
protected org.nuiton.eugene.models.object.ObjectModel |
model |
Comparator<org.nuiton.eugene.models.object.ObjectModelClass> |
OBJECT_MODEL_CLASS_COMPARATOR |
String |
PERSISTENCE_TYPE_DEFAULT
Type de persistence par défaut (si aucun précisé)
|
String |
PERSISTENCE_TYPE_HIBERNATE
Type de persistence Hibernate
|
String |
PROPERTY_DEFAULT_PACKAGE
Propriété des générateurs indiquant le package par défaut
|
protected TopiaCoreTagValues |
topiaCoreTagValues |
protected TopiaHibernateTagValues |
topiaHibernateTagValues |
| Constructor and Description |
|---|
TopiaTemplateHelper(org.nuiton.eugene.models.object.ObjectModel model) |
| Modifier and Type | Method and Description |
|---|---|
List<String> |
cleanImports(String packageName,
Set<String> fqns)
Clean a set of fqns, transform it into a
List and sort it. |
String |
getAbstractDaoFqn(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getAbstractDaoName(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getApplicationContextAbstractName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getApplicationContextConcreteName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getApplicationContextInterfaceName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getApplicationContextPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer,
org.nuiton.eugene.models.object.ObjectModel model) |
String |
getClassForPrimitiveType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) |
Class<?> |
getCollectionInstanceType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
Class<?> |
getCollectionType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute) |
String |
getConcreteDaoFqn(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getConcreteDaoName(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getContractDaoName(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getDaoPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer,
org.nuiton.eugene.models.object.ObjectModel model) |
String |
getDaoSupplierInterfaceName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getDaoSupplierName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getDbName(org.nuiton.eugene.models.object.ObjectModelElement element)
Renvoie le nom BD de l'élement passé en paramètre.
|
String |
getDefaultPackage(org.nuiton.eugene.AbstractGenerator<?> generator)
Renvoie le package par défaut pour le générateur donné
|
String |
getDOType(org.nuiton.eugene.models.object.ObjectModelElement elem,
org.nuiton.eugene.models.object.ObjectModel model) |
String |
getDOType(String type,
org.nuiton.eugene.models.object.ObjectModel model) |
String |
getEntityAbstractName(org.nuiton.eugene.models.object.ObjectModelClass input) |
List<org.nuiton.eugene.models.object.ObjectModelClass> |
getEntityClasses(org.nuiton.eugene.models.object.ObjectModel model,
boolean sort)
Obtain the list of entities classes with the possibility to sort the
result.
|
String |
getEntityConcreteName(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getEntityEnumName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getEntityPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer,
org.nuiton.eugene.models.object.ObjectModel model,
org.nuiton.eugene.models.object.ObjectModelClassifier input) |
String |
getGeneratedDaoFqn(org.nuiton.eugene.models.object.ObjectModelClass input) |
String |
getGeneratedDaoName(org.nuiton.eugene.models.object.ObjectModelClass input) |
void |
getImports(org.nuiton.eugene.models.object.ObjectModelClass aClass,
Set<String> fqns)
Obtain the list of fqn of object involed in the given class.
|
List<String> |
getImports(org.nuiton.eugene.models.object.ObjectModelClass aClass,
String... incomingFqns)
Obtain the list of fqn of object involed in the given class.
|
void |
getImports(org.nuiton.eugene.models.object.ObjectModelInterface anInterface,
Set<String> fqns)
Obtain the list of fqn of object involed in the given interface.
|
void |
getImports(org.nuiton.eugene.models.object.ObjectModelOperation operation,
Set<String> fqns)
Obtain the fqn's list of all involed type in a givne operation.
|
String |
getInheritanceStrategy(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
Obtain the value of the
TopiaHibernateTagValues.Store.inheritanceStrategy tag value on the given classifier. |
static String |
getLegacyDaoName(org.nuiton.eugene.models.object.ObjectModelClass input)
Deprecated.
only used for warn to help migration to 3.0, should be deleted
|
String |
getManyToManyTableName(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
Renvoie le nom unique de table pour une relation ManyToMany en fonction
de l'attribut
attr |
Set<org.nuiton.eugene.models.object.ObjectModelAttribute> |
getNaturalIdAttributes(org.nuiton.eugene.models.object.ObjectModelClass clazz)
Cherche et renvoie la liste des attributs constituant la clef metier
d'une classe.
|
String |
getNMultiplicityHibernateType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
Renvoie le type d'interface à utiliser en fonction de l'attribut
|
Set<org.nuiton.eugene.models.object.ObjectModelAttribute> |
getNotNullAttributes(org.nuiton.eugene.models.object.ObjectModelClass clazz)
Cherche et renvoie la liste des attributs qui ne doivent pas etre null dans
une classe.
|
String |
getParentDaoFqn(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer,
org.nuiton.eugene.models.object.ObjectModel model) |
String |
getParentDaoName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getPersistenceContextAbstractName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getPersistenceContextConcreteName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getPersistenceContextInterfaceName(org.nuiton.eugene.models.object.ObjectModel model) |
String |
getPersistenceContextPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer,
org.nuiton.eugene.models.object.ObjectModel model) |
String |
getPersistenceType(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
Renvoie le type de persistence pour le classifier donné.
|
String |
getReverseDbName(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
Obtain the reverse db name of an attribute.
|
String |
getReverseDbNameOnReverseAttribute(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
Obtain the reverse db name of a reverse attribute.
|
TopiaCoreTagValues |
getTopiaCoreTagValues()
Deprecated.
|
TopiaHibernateTagValues |
getTopiaHibernateTagValues()
Deprecated.
|
boolean |
hasUnidirectionalRelationOnAbstractType(org.nuiton.eugene.models.object.ObjectModelAttribute attr,
org.nuiton.eugene.models.object.ObjectModel model)
Cette méthode permet de détecter si
- l'attribut représente une relation 1-n
- cette relation est unidirectionnelle
- le type de l'attribut représente un entité
- cette entité a des sous-classes dans le modèle
Ce cas correspond à une incompatibilité d'Hibernate qui nous oblige a
adopter un comportement particulier.
|
boolean |
isAbstract(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
Check if the given classifier is an abstract class
|
boolean |
isAttributeNotNull(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
Detecte si un attribut est marqué comme non null.
|
boolean |
isBooleanType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) |
boolean |
isCollectionNeeded(Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations) |
boolean |
isDateType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) |
boolean |
isEntity(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModel model)
Check if the given attribute type is an entity.
|
boolean |
isEntity(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
Check if the given classifier has the
TopiaCoreTagValues.Store.entity and is not an enumeration |
boolean |
isImportNeeded(Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations,
String importName) |
boolean |
isNumericType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) |
boolean |
isPrimitiveType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) |
boolean |
isSetNeeded(Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations) |
boolean |
isTextType(org.nuiton.eugene.models.object.ObjectModelAttribute attr) |
Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>> |
searchDirectUsages(org.nuiton.eugene.models.object.ObjectModel model) |
void |
searchDirectUsages(org.nuiton.eugene.models.object.ObjectModelClass klass,
Map<String,org.nuiton.eugene.models.object.ObjectModelClass> allEntitiesByFQN,
Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>> usages) |
public final String PERSISTENCE_TYPE_HIBERNATE
public final String PERSISTENCE_TYPE_DEFAULT
public final String PROPERTY_DEFAULT_PACKAGE
public final String DEFAULT_PACKAGE
public final String DEFAULT_INHERITANCE_STRATEGY
protected final org.nuiton.eugene.models.object.ObjectModel model
protected final org.nuiton.eugene.EugeneCoreTagValues eugeneTagValues
protected final TopiaCoreTagValues topiaCoreTagValues
protected final TopiaHibernateTagValues topiaHibernateTagValues
public final Comparator<org.nuiton.eugene.models.object.ObjectModelClass> OBJECT_MODEL_CLASS_COMPARATOR
public TopiaTemplateHelper(org.nuiton.eugene.models.object.ObjectModel model)
@Deprecated public TopiaCoreTagValues getTopiaCoreTagValues()
@Deprecated public TopiaHibernateTagValues getTopiaHibernateTagValues()
public String getPersistenceType(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
classifier - l'élément à testerpublic String getDefaultPackage(org.nuiton.eugene.AbstractGenerator<?> generator)
generator - le générateur donnépublic String getApplicationContextPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer, org.nuiton.eugene.models.object.ObjectModel model)
public String getPersistenceContextPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer, org.nuiton.eugene.models.object.ObjectModel model)
public String getDaoPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer, org.nuiton.eugene.models.object.ObjectModel model)
public String getParentDaoName(org.nuiton.eugene.models.object.ObjectModel model)
public String getParentDaoFqn(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer, org.nuiton.eugene.models.object.ObjectModel model)
public String getApplicationContextInterfaceName(org.nuiton.eugene.models.object.ObjectModel model)
public String getApplicationContextAbstractName(org.nuiton.eugene.models.object.ObjectModel model)
public String getApplicationContextConcreteName(org.nuiton.eugene.models.object.ObjectModel model)
public String getPersistenceContextAbstractName(org.nuiton.eugene.models.object.ObjectModel model)
public String getPersistenceContextConcreteName(org.nuiton.eugene.models.object.ObjectModel model)
public String getPersistenceContextInterfaceName(org.nuiton.eugene.models.object.ObjectModel model)
public String getDaoSupplierInterfaceName(org.nuiton.eugene.models.object.ObjectModel model)
public String getDaoSupplierName(org.nuiton.eugene.models.object.ObjectModel model)
public String getEntityEnumName(org.nuiton.eugene.models.object.ObjectModel model)
public String getEntityAbstractName(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getEntityConcreteName(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getAbstractDaoName(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getGeneratedDaoName(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getConcreteDaoName(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getContractDaoName(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getAbstractDaoFqn(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getGeneratedDaoFqn(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getConcreteDaoFqn(org.nuiton.eugene.models.object.ObjectModelClass input)
public String getEntityPackage(org.nuiton.eugene.java.ObjectModelTransformerToJava transformer, org.nuiton.eugene.models.object.ObjectModel model, org.nuiton.eugene.models.object.ObjectModelClassifier input)
public String getReverseDbName(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
_id.attr - the attribute to seekpublic String getDbName(org.nuiton.eugene.models.object.ObjectModelElement element)
element - l'élément à testerpublic String getReverseDbNameOnReverseAttribute(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
attr - the attribute to seekpublic Set<org.nuiton.eugene.models.object.ObjectModelAttribute> getNaturalIdAttributes(org.nuiton.eugene.models.object.ObjectModelClass clazz)
clazz - la classe à testerpublic Set<org.nuiton.eugene.models.object.ObjectModelAttribute> getNotNullAttributes(org.nuiton.eugene.models.object.ObjectModelClass clazz)
clazz - la classe à testerpublic boolean isAttributeNotNull(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
attribute - l'attribut à testertrue si l'attribut doit être non null,
par défaut pour les naturalId, false sinon..public String getDOType(org.nuiton.eugene.models.object.ObjectModelElement elem, org.nuiton.eugene.models.object.ObjectModel model)
public boolean isNumericType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
public boolean isTextType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
public boolean isDateType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
public boolean isBooleanType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
public boolean isPrimitiveType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
public String getClassForPrimitiveType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
public boolean hasUnidirectionalRelationOnAbstractType(org.nuiton.eugene.models.object.ObjectModelAttribute attr,
org.nuiton.eugene.models.object.ObjectModel model)
Cette méthode permet de détecter si - l'attribut représente une relation 1-n - cette relation est unidirectionnelle - le type de l'attribut représente un entité - cette entité a des sous-classes dans le modèle Ce cas correspond à une incompatibilité d'Hibernate qui nous oblige a adopter un comportement particulier.
attr - l'attribut a testermodel - le modelpublic String getManyToManyTableName(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
attrattr - l'attribut servant de base au calcul du nompublic String getNMultiplicityHibernateType(org.nuiton.eugene.models.object.ObjectModelAttribute attr)
attr - l'attribut a traiterpublic List<org.nuiton.eugene.models.object.ObjectModelClass> getEntityClasses(org.nuiton.eugene.models.object.ObjectModel model, boolean sort)
model - the current model to scansort - flag to allow sort the resultpublic List<String> getImports(org.nuiton.eugene.models.object.ObjectModelClass aClass, String... incomingFqns)
aClass - the clazz to inspectincomingFqns - incoming fqnspublic void getImports(org.nuiton.eugene.models.object.ObjectModelClass aClass,
Set<String> fqns)
aClass - the class to inspectfqns - where to store found fqnspublic void getImports(org.nuiton.eugene.models.object.ObjectModelInterface anInterface,
Set<String> fqns)
anInterface - the interface to inspectfqns - where to store found fqnspublic void getImports(org.nuiton.eugene.models.object.ObjectModelOperation operation,
Set<String> fqns)
operation - operation to inspectfqns - where to store found fqnspublic List<String> cleanImports(String packageName, Set<String> fqns)
List and sort it.packageName - the current package namefqns - the dirty set of fqnspublic Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>> searchDirectUsages(org.nuiton.eugene.models.object.ObjectModel model)
public void searchDirectUsages(org.nuiton.eugene.models.object.ObjectModelClass klass,
Map<String,org.nuiton.eugene.models.object.ObjectModelClass> allEntitiesByFQN,
Map<org.nuiton.eugene.models.object.ObjectModelClass,Set<org.nuiton.eugene.models.object.ObjectModelClass>> usages)
public boolean isImportNeeded(Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations, String importName)
public boolean isCollectionNeeded(Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
public boolean isSetNeeded(Collection<org.nuiton.eugene.models.object.ObjectModelOperation> operations)
public boolean isEntity(org.nuiton.eugene.models.object.ObjectModelAttribute attribute,
org.nuiton.eugene.models.object.ObjectModel model)
attribute - attribute to testmodel - model containing the attributetrue if type of attribute is an entity,
false otherwiseTopiaCoreTagValues.Store.entitypublic boolean isEntity(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
TopiaCoreTagValues.Store.entity and is not an enumerationclassifier - classifier to testtrue if stereotype was found and classifier is not
enumeration, false otherwiseTopiaCoreTagValues.Store.entitypublic boolean isAbstract(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
classifier - classifier to testtrue if the classifier is abstract, false otherwisepublic String getInheritanceStrategy(org.nuiton.eugene.models.object.ObjectModelClassifier classifier)
TopiaHibernateTagValues.Store.inheritanceStrategy tag value on the given classifier.classifier - classifier to seeknull if not found nor empty.TopiaHibernateTagValues.Store.inheritanceStrategypublic Class<?> getCollectionType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
public Class<?> getCollectionInstanceType(org.nuiton.eugene.models.object.ObjectModelAttribute attribute)
@Deprecated public static String getLegacyDaoName(org.nuiton.eugene.models.object.ObjectModelClass input)
input - FIXMECopyright © 2004–2020 Code Lutin. All rights reserved.