|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.eugene.GeneratorUtil
org.nuiton.eugene.test.generator.TopiaGeneratorUtil
public class TopiaGeneratorUtil
Classe regroupant divers méthodes utiles pour la génération des entités
| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_PACKAGE
Le package par défaut si aucun n'est spécifié |
static java.lang.String |
PERSISTENCE_TYPE_DEFAULT
Type de persistence par défaut (si aucun précisé) |
static java.lang.String |
PERSISTENCE_TYPE_HIBERNATE
Type de persistence Hibernate |
static java.lang.String |
PERSISTENCE_TYPE_LDAP
Type de persistence LDAP |
static java.lang.String |
PROPERTY_DEFAULT_PACKAGE
Propriété des générateurs indiquant le package par défaut |
static java.lang.String |
STEREOTYPE_BEAN
Stéréotype pour les objets devant être générées sous forme de bean |
static java.lang.String |
STEREOTYPE_DAO
Stéréotype pour les interfaces devant être générées sous forme de DAO |
static java.lang.String |
STEREOTYPE_DTO
Stéréotype pour les objets devant être générées sous forme de DTO |
static java.lang.String |
STEREOTYPE_ENTITY
Stéréotype pour les objets devant être générées sous forme d'entités |
static java.lang.String |
STEREOTYPE_FACADE
Stéréotype pour les interfaces devant être générées sous forme de facades |
static java.lang.String |
STEREOTYPE_INDEXED
Stéréotype pour les attributs à indexer en base |
static java.lang.String |
STEREOTYPE_PRIMARYKAY
Stéréotype pour les attributs étant des clés primaires |
static java.lang.String |
STEREOTYPE_SERVICE
Stéréotype pour les interfaces devant être générées sous forme de services |
static java.lang.String |
STEREOTYPE_UNIQUE
Stéréotype pour les collections avec unicité |
static java.lang.String |
TAG_ACCESS
Tag pour specfier le type d'acces a un champ |
static java.lang.String |
TAG_ANNOTATION
Tag pour ajouter une annotation à un champ |
static java.lang.String |
TAG_COPYRIGHT
Tag pour ajouter specifier le copyright d'un fichier |
static java.lang.String |
TAG_DB_NAME
Tag pour le nom du champ / entité en BD |
static java.lang.String |
TAG_EMBED_XML
Tag pour spécifier la caractère embed-xml d'une association |
static java.lang.String |
TAG_FETCH
Tag pour spécifier la caractère fetch d'une association multiple |
static java.lang.String |
TAG_GENERATE_OPERATOR_FOR_DAO_HELPER
Tag pour specfier si on doit générer la methode getOperator dans les daohelpers ) |
static java.lang.String |
TAG_I18N_PREFIX
Tag pour specfier si on doit générer i18n |
static java.lang.String |
TAG_LAZY
Tag pour spécifier la caractèrelazy d'une association multiple |
static java.lang.String |
TAG_LENGTH
Tag pour la taille du champ en BD |
static java.lang.String |
TAG_NATURAL_ID
Tag pour ajouter un attribut dans une clef métier |
static java.lang.String |
TAG_NATURAL_ID_MUTABLE
Tag pour specifier si une clef metier est mutable |
static java.lang.String |
TAG_NOT_GENERATE_TO_STRING
Tag pour specifier de ne pas generer la methode toString |
static java.lang.String |
TAG_NOT_NULL
Tag pour spécifier la caractère not-null d'un attribut |
static java.lang.String |
TAG_ORDER_BY
Tag pour spécifier la caractère order-by d'une association multiple |
static java.lang.String |
TAG_PERSISTENCE_TYPE
Tag pour le type de persistence |
static java.lang.String |
TAG_PROXY_INTERFACE
Tag pour configurer l'interface du proxy sur autre chose que l'implementation par defaut. |
static java.lang.String |
TAG_SCHEMA_NAME
Tag pour le nom du schema en BD |
static java.lang.String |
TAG_SECURITY_CREATE
Tag pour spécifier le permissions à la création |
static java.lang.String |
TAG_SECURITY_DELETE
Tag pour spécifier le permissions à la suppression |
static java.lang.String |
TAG_SECURITY_LOAD
Tag pour spécifier le permissions au chargement |
static java.lang.String |
TAG_SECURITY_UPDATE
Tag pour spécifier le permissions à la mise à jour |
static java.lang.String |
TAG_SORT_ATTRIBUTE
Tag pour specifier de trier les attributs par nom lors de la generation |
| Constructor Summary | |
|---|---|
TopiaGeneratorUtil()
|
|
| Method Summary | ||
|---|---|---|
static java.lang.String |
capitalize(java.lang.String s)
|
|
protected static java.util.List<java.lang.String> |
cleanImports(java.lang.String packageName,
java.util.Set<java.lang.String> fqns)
Clean a set of fqns, transform it into a List and sort it. |
|
static java.lang.String |
convertVariableNameToConstantName(java.lang.String variableName)
Convertit un nom de variable en nom de constante. |
|
static java.lang.String |
findTagValue(java.lang.String tagName,
ObjectModelElement element,
Model model)
Deprecated. |
|
static boolean |
generateToString(ObjectModelClass clazz,
ObjectModel model)
Cherche et renvoie la liste des attributs constituant la clef metier d'une classe. |
|
static java.lang.String |
getAssocAttrName(ObjectModelAttribute attr)
Renvoie le nom de l'attribut de classe d'association en fonction des cas: Si l'attribut porte le même nom que le type (extrémité inverse de l'association), on lui ajoute le nom de la classe d'association |
|
static java.util.List<ObjectModelClass> |
getClassesByStereotype(java.lang.String stereotype,
ObjectModel model,
boolean sort)
Obtain the list of classes for a given stereotype with the possibility to sort the result. |
|
static java.lang.String |
getCopyright(Model model)
Cherches et renvoie le copyright a utiliser sur le model. |
|
static ObjectModelInterface |
getDAOInterface(ObjectModelClass clazz,
ObjectModel model)
Renvoie l'interface DAO associée à la classe passée en paramètre |
|
static java.lang.String |
getDBName(ObjectModelElement element)
Renvoie le nom BD de l'élement passé en paramètre. |
|
static java.lang.String |
getDefaultPackage(Template generator)
Renvoie le package par défaut pour le générateur donné |
|
static java.lang.String |
getDOType(ObjectModelElement elem,
ObjectModel model)
|
|
static java.lang.String |
getDOType(java.lang.String type,
ObjectModel model)
|
|
static
|
getElementsWithStereotype(java.util.Collection<Type> elements,
java.lang.String... stereotypes)
|
|
static java.util.List<ObjectModelClass> |
getEntityClasses(ObjectModel model,
boolean sort)
Obtain the list of entities classes with the possibility to sort the result. |
|
static java.lang.String |
getI18nPrefix(ObjectModelElement element,
ObjectModel model)
Cherche et renvoie le prefixe i18n à utiliser sur cet element, sinon sur le model. |
|
protected static void |
getImports(ObjectModelClass aClass,
java.util.Set<java.lang.String> fqns)
Obtain the list of fqn of object involed in the given class. |
|
static java.util.List<java.lang.String> |
getImports(ObjectModelClass aClass,
java.lang.String... incomingFqns)
Obtain the list of fqn of object involed in the given class. |
|
protected static void |
getImports(ObjectModelInterface anInterface,
java.util.Set<java.lang.String> fqns)
Obtain the list of fqn of object involed in the given interface. |
|
static java.util.List<java.lang.String> |
getImports(ObjectModelInterface anInterface,
java.lang.String... incomingFqns)
Obtain the list of fqn of object involed in the given interface. |
|
protected static void |
getImports(ObjectModelOperation operation,
java.util.Set<java.lang.String> fqns)
Obtain the fqn's list of all involed type in a givne operation. |
|
static java.lang.String |
getManyToManyTableName(ObjectModelAttribute attr)
Renvoie le nom unique de table pour une relation ManyToMany en fonction de l'attribut attr
Plusieurs cas de figure:
|
|
static java.util.List<java.lang.String> |
getNaturalId(ObjectModelClass clazz)
Cherche et renvoie la liste des attributs constituant la clef metier d'une classe. |
|
static java.lang.String |
getNMultiplicityHibernateType(ObjectModelAttribute attr)
Renvoie le type d'interface à utiliser en fonction de l'attribut |
|
static java.lang.String |
getNMultiplicityInterfaceType(ObjectModelAttribute attr)
Renvoie le type d'interface à utiliser en fonction de l'attribut |
|
static java.lang.String |
getNMultiplicityObjectType(ObjectModelAttribute attr)
Renvoie le type d'objet (instance) à utiliser en fonction de l'attribut |
|
static java.lang.String |
getPersistenceType(ObjectModelElement element)
Renvoie le type de persistence pour l'élément donné. |
|
static java.lang.String |
getPrimaryKeyAttributesListDeclaration(ObjectModelClass clazz,
boolean includeName)
|
|
static java.lang.String |
getReverseDBName(ObjectModelAttribute attr)
|
|
static java.lang.String |
getSchemaName(ObjectModelElement element,
ObjectModel model)
Cherche et renvoie le schema a utiliser sur cet element, sinon sur le model. |
|
static java.lang.String |
getSimpleName(java.lang.String fqn)
|
|
static boolean |
hasDocumentation(ObjectModelElement element)
Deprecated. |
|
static boolean |
hasNothingOrAbstractMethods(ObjectModelClass clazz)
Indique si la classe specifiee n'a aucune ou que des methodes abstraites |
|
static boolean |
hasStereotypes(ObjectModelElement element,
java.lang.String... stereotypes)
|
|
static boolean |
hasUnidirectionalRelationOnAbstractType(ObjectModelAttribute attr,
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. |
|
static boolean |
isAssociationClassDoublon(ObjectModelAttribute attr)
|
|
static boolean |
isBooleanType(ObjectModelAttribute attr)
|
|
static boolean |
isDateType(ObjectModelAttribute attr)
|
|
static boolean |
isNaturalId(ObjectModelAttribute attribute)
Detecte si un attribut fait partie d'une clef metier. |
|
static boolean |
isNaturalIdMutable(ObjectModelClass clazz)
Detecte si la clef metier d'une classe est mutable ou pas. |
|
static boolean |
isNumericType(ObjectModelAttribute attr)
|
|
static boolean |
isPrimitiveType(ObjectModelAttribute attr)
|
|
static boolean |
isTextType(ObjectModelAttribute attr)
|
|
static boolean |
notEmpty(java.lang.String s)
Deprecated. |
|
static boolean |
shouldBeAbstract(ObjectModelClass clazz)
Indique si la classe specifiee devrait etre abstraite |
|
static boolean |
shouldgenerateOperatorForDAOHelper(ObjectModelElement element,
ObjectModel model)
Cherche et renvoie le prefixe i18n à utiliser sur cet element, sinon sur le model. |
|
static boolean |
sortAttribute(ObjectModelClass clazz,
ObjectModel model)
Cherche et renvoie la liste des attributs constituant la clef metier d'une classe. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String STEREOTYPE_FACADE
public static final java.lang.String STEREOTYPE_ENTITY
public static final java.lang.String STEREOTYPE_DTO
public static final java.lang.String STEREOTYPE_BEAN
public static final java.lang.String STEREOTYPE_SERVICE
public static final java.lang.String STEREOTYPE_DAO
public static final java.lang.String STEREOTYPE_INDEXED
public static final java.lang.String STEREOTYPE_UNIQUE
public static final java.lang.String STEREOTYPE_PRIMARYKAY
public static final java.lang.String TAG_PERSISTENCE_TYPE
public static final java.lang.String TAG_DB_NAME
public static final java.lang.String TAG_SCHEMA_NAME
public static final java.lang.String TAG_LENGTH
public static final java.lang.String TAG_ANNOTATION
public static final java.lang.String TAG_COPYRIGHT
public static final java.lang.String TAG_ACCESS
public static final java.lang.String TAG_I18N_PREFIX
public static final java.lang.String TAG_NATURAL_ID
public static final java.lang.String TAG_NATURAL_ID_MUTABLE
public static final java.lang.String TAG_LAZY
public static final java.lang.String TAG_FETCH
public static final java.lang.String TAG_ORDER_BY
public static final java.lang.String TAG_NOT_NULL
public static final java.lang.String TAG_EMBED_XML
public static final java.lang.String TAG_PROXY_INTERFACE
public static final java.lang.String TAG_SECURITY_CREATE
public static final java.lang.String TAG_SECURITY_LOAD
public static final java.lang.String TAG_SECURITY_UPDATE
public static final java.lang.String TAG_SECURITY_DELETE
public static final java.lang.String TAG_NOT_GENERATE_TO_STRING
public static final java.lang.String TAG_SORT_ATTRIBUTE
public static final java.lang.String TAG_GENERATE_OPERATOR_FOR_DAO_HELPER
public static final java.lang.String PERSISTENCE_TYPE_HIBERNATE
public static final java.lang.String PERSISTENCE_TYPE_LDAP
public static final java.lang.String PERSISTENCE_TYPE_DEFAULT
public static final java.lang.String PROPERTY_DEFAULT_PACKAGE
public static final java.lang.String DEFAULT_PACKAGE
| Constructor Detail |
|---|
public TopiaGeneratorUtil()
| Method Detail |
|---|
public static java.lang.String getDefaultPackage(Template generator)
generator - le générateur donné
@Deprecated public static boolean hasDocumentation(ObjectModelElement element)
GeneratorUtil.hasDocumentation(org.nuiton.eugene.models.object.ObjectModelElement)@Deprecated public static boolean notEmpty(java.lang.String s)
GeneratorUtil.notEmpty(java.lang.String)
public static ObjectModelInterface getDAOInterface(ObjectModelClass clazz,
ObjectModel model)
clazz - la classe à testermodel - le modele utilisé
public static java.lang.String getPersistenceType(ObjectModelElement element)
element - l'élément à tester
public static java.lang.String getReverseDBName(ObjectModelAttribute attr)
public static java.lang.String getDBName(ObjectModelElement element)
element - l'élément à tester
public static java.lang.String getSchemaName(ObjectModelElement element,
ObjectModel model)
element - l'élément à testermodel - le modele utilisé
public static java.lang.String getI18nPrefix(ObjectModelElement element,
ObjectModel model)
element - l'élément à testermodel - le modele utilisé
null si non spécifié
public static boolean shouldgenerateOperatorForDAOHelper(ObjectModelElement element,
ObjectModel model)
element - l'élément à testermodel - le modele utilisé
null si non spécifiépublic static java.util.List<java.lang.String> getNaturalId(ObjectModelClass clazz)
clazz - la classe à tester
public static boolean generateToString(ObjectModelClass clazz,
ObjectModel model)
clazz - la classe à testermodel - le modele
public static boolean sortAttribute(ObjectModelClass clazz,
ObjectModel model)
clazz - la classe à testermodel - le modele
public static boolean isNaturalId(ObjectModelAttribute attribute)
attribute - l'attribut à tester
true si l'attribut fait partie d'une clef metier, false sinon.public static java.lang.String getCopyright(Model model)
model - le modele utilisé
@Deprecated
public static java.lang.String findTagValue(java.lang.String tagName,
ObjectModelElement element,
Model model)
GeneratorUtil.findTagValue(java.lang.String, org.nuiton.eugene.models.object.ObjectModelElement, org.nuiton.eugene.models.Model)
public static <Type extends ObjectModelElement> java.util.Collection<Type> getElementsWithStereotype(java.util.Collection<Type> elements,
java.lang.String... stereotypes)
public static boolean hasStereotypes(ObjectModelElement element,
java.lang.String... stereotypes)
public static java.lang.String getPrimaryKeyAttributesListDeclaration(ObjectModelClass clazz,
boolean includeName)
public static java.lang.String capitalize(java.lang.String s)
public static boolean isAssociationClassDoublon(ObjectModelAttribute attr)
public static java.lang.String getAssocAttrName(ObjectModelAttribute attr)
attr - l'attribut a traiter
public static java.lang.String getDOType(ObjectModelElement elem,
ObjectModel model)
public static java.lang.String getDOType(java.lang.String type,
ObjectModel model)
public static boolean isNumericType(ObjectModelAttribute attr)
public static boolean isTextType(ObjectModelAttribute attr)
public static boolean isDateType(ObjectModelAttribute attr)
public static boolean isBooleanType(ObjectModelAttribute attr)
public static boolean isPrimitiveType(ObjectModelAttribute attr)
public static boolean hasNothingOrAbstractMethods(ObjectModelClass clazz)
clazz - l'instance de ObjectModelClass
public static boolean shouldBeAbstract(ObjectModelClass clazz)
clazz - l'instance de ObjectModelClass
public static boolean hasUnidirectionalRelationOnAbstractType(ObjectModelAttribute attr,
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 model
public static java.lang.String getManyToManyTableName(ObjectModelAttribute attr)
attr
Plusieurs cas de figure:
attr - l'attribut servant de base au calcul du nom
public static java.lang.String getNMultiplicityInterfaceType(ObjectModelAttribute attr)
attr - l'attribut a traiter
public static java.lang.String getNMultiplicityObjectType(ObjectModelAttribute attr)
attr - l'attribut a traiter
public static java.lang.String getNMultiplicityHibernateType(ObjectModelAttribute attr)
attr - l'attribut a traiter
public static java.util.List<ObjectModelClass> getEntityClasses(ObjectModel model,
boolean sort)
model - the current model to scansort - flag to allow sort the result
public static java.util.List<ObjectModelClass> getClassesByStereotype(java.lang.String stereotype,
ObjectModel model,
boolean sort)
stereotype - filter stereotypemodel - the current model to scansort - flag to allow sort the result
public static boolean isNaturalIdMutable(ObjectModelClass clazz)
clazz - la classe a tester
true si le tag value a ete positionne sur la classe via le tag
TAG_NATURAL_ID_MUTABLE, , false sinon.
public static java.util.List<java.lang.String> getImports(ObjectModelClass aClass,
java.lang.String... incomingFqns)
aClass - the clazz to inspectincomingFqns - incoming fqns
public static java.util.List<java.lang.String> getImports(ObjectModelInterface anInterface,
java.lang.String... incomingFqns)
anInterface - the interface to inspectincomingFqns - incoming fqns
public static java.lang.String getSimpleName(java.lang.String fqn)
protected static void getImports(ObjectModelClass aClass,
java.util.Set<java.lang.String> fqns)
aClass - the class to inspectfqns - where to store found fqns
protected static void getImports(ObjectModelInterface anInterface,
java.util.Set<java.lang.String> fqns)
anInterface - the interface to inspectfqns - where to store found fqns
protected static void getImports(ObjectModelOperation operation,
java.util.Set<java.lang.String> fqns)
operation - operation to inspectfqns - where to store found fqns
protected static java.util.List<java.lang.String> cleanImports(java.lang.String packageName,
java.util.Set<java.lang.String> fqns)
List and sort it.
packageName - the current package namefqns - the dirty set of fqns
public static java.lang.String convertVariableNameToConstantName(java.lang.String variableName)
variableName - le nom de variable a convertir
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||