La bibliothèque des fonctions du référentiel


Dans les exemples précédents, quelques fonctions du référentiel ont été employées, tel que ColumnDefault dans un exemple de classe ATTR et PrimaryuniquekeyColumns dans un exemple de classe CONN. Ces fonctions du référentiel sont utilisées pour recueillir de l’information d'un projet dans Open ModelSphere. La liste complète de fonctions du référentiel (repository functions API) se trouve dans le répertoire doc / template-API.
Donc, pourquoi Fonctions du référentiel API est un document HTML, tandis que le reste de la documentation est en PDF ? Parce que le document API est généré par l'outil Javadoc. Javadoc est largement utilisé dans le monde Java. Chaque fois qu’une nouvelle version est sortie, la documentation est automatiquement regénérée. Cela permet de garder une documentation à jour.

Comment trouver une fonction du référentiel spécifique dans le document HTML ? Toute fonction du référentiel apparaît en tant que champ d’une classe spéciale nommée GenericMapping. Pour trouver une fonction du référentiel particulière, tel que ColumnDefault, vous pouvez examiner le résumé des champs (Field summary) où toutes les fonctions du référentiel sont répertoriées en ordre alphabétique. Chaque entrée dans le résumé des champs fournit une courte description de la fonction du référentiel ainsi qu’un hyperlien vers une description plus détaillée.

Vous pouvez aussi aller au détail des champs (Field detail): les fonctions du référentiel y sont répertoriées selon les systèmes cibles impliqués. Il y a six sections : Vous pouvez vous dirigez vers une section spécifique en cliquant sur Section_X dans le résumé des champs. Dans chaque section, les fonctions du référentiel sont triées selon le concept (toutes les fonctions concernant les tables ensemble, toutes les fonctions concernant les colonnes ensemble, etc.).

Les sections résumé et détail du constructeur ainsi que résumé et détail de la méthode sont d’aucun intérêt pour un utilisateur de fichiers gabarits. Vous pouvez ignorer ces sections. Il y a deux sortes de fonctions du référentiel : des fonctions du référentiel de type attribut (ils apparaissent toujours après le mot-clé ATTR dans un fichier gabarit) et des fonctions du référentiel de type connecteur (ils apparaissent toujours après le mot-clé CONN dans un fichier gabarit). Voici un exemple d'une fonction attribut du référentiel :

ColumnDefault
public static
org.modelsphere.sms.plugins.generic.GenericMapping.GenericMapping
Entry ColumnDefault
Returns the column's initial value.
Target System : All Except Java
Type : Attribute
Returns : String.


Le champ Système Cible indique sur quel système cible une fonction du référentiel donnée fonctionnera. ColumnDefault fonctionne sur tous les systèmes cibles (Oracle, Informix, etc) sauf Java. Le champ Système Cible indique de quel type de fonction du référentiel il est question (dans notre exemple, ColumnDefault est une fonction du référentiel de type attribut), donc il ne peut qu’être employé dans une règle de classe ATTR dans un fichier gabarit.

Le champ Retour (seulement sur la fonction du référentiel de type attribut) indique quel genre de valeurs sont retournées par la fonction du référentiel de type attribut. String signifie qu'une chaîne arbitraire peut être retournée. Vous remarquerez régulièrement 'une chaîne représentant un nombre entier'. Ceci signifie que la valeur retournée est, en réalité, une chaîne et non un nombre entier, mais cette chaîne représente toujours un nombre entier. Les valeurs possibles sont "1", "33","400". Les valeurs telles que "le nom", "1.5" et "2/ 3" sont impossible. Finalement si le champ Retour a "vrai" ou "faux", cela signifie que seules ces deux valeurs peuvent être retournées par la fonction.

Voici un exemple d'une fonction du référentiel de type connecteur :

PrimaryuniquekeyColumns
public static
org.modelsphere.sms.plugins.generic.GenericMapping.GenericMapping
Entry PrimaryuniquekeyColumns
For a primary or a unique key, lists all its columns.
Target System : All Except Java
Type : Connector


Les champs sont les mêmes que ceux dans les fonctions du référentiel de type attribut, par contre il n'y a aucun champ Retour : un connecteur ne retourne pas de valeur, il inscrit plutôt un ou plusieurs objets.

Quelques fonctions du référentiel sont étiquetées à éviter (deprecated); ceci signifie qu'on permet toujours leur utilisation pour la version actuelle, mais il est projeté d’enlever la fonction dans les versions suivantes. Il est donc fortement recommandé d'éviter d'employer ces fonctions.