| Guide Utilisateur AROM v2.0 | ||||
|---|---|---|---|---|
| Précédent | Arrière rapide | Chapitre 9. Modificateurs de facettes | Avance rapide | Suivant |
La création des objets implémentant les différentes interfaces dérivées de FacetModifier est réalisée par l'intermédiaire de ModifierFactory, qui est lui-même accessible grâce à AromSystem. La ligne de code permettant d'obtenir un ModifierFactory est :
ModifierFactory factory = AromSetUp.getAromSystem().getModifierFactory();
Depuis cet objet, il est donc possible de créer des DocumentationModifier, des InferenceModifier, des ICModifier ou des TypeModifier spécifiques. Le type du modificateur à créer est spécifié par le paramètre identificateur passé à la méthode de création. En effet, chaque implémentation d'AROM doit pouvoir avoir ses propres modificateurs qui seront accessibles via l'identificateur qui leur sera associé. Les identificateurs attendus et les paramètres associés sont entièrement dépendant de l'implémentation, ils devront donc être documentés dans celles-ci. Néanmoins, il est prudent d'admettre que les modificateurs donnés en exemple ci-après seront définis dans toutes les implémentations.
| Avertissement |
l'Implémentation de Référence d'AROM défini tous ces modificateurs mais n'en ajoute aucun. |
Pour la facette de Documentation (ModifierFactory.createDocModifier(String identifier, Object[] args) )
URLDocModifier: Définit une URL à associer à la documentation. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.URL_DOC_MODIFIER et args[0] = une URL.
TextDocModifier: Définir un texte à associer à la documentation. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.TEXT_DOC_MODIFIER et args[0] = une String.
Pour la facette de Type (ModifierFactory.createCTypeModifier(CType ctype), ModifierFactory.createStructureCTypeModifier(Structure structure) ou ModifierFactory.createDomainModifier(String identifier, Object[] args) )
CTypeModifier: Définit le type principal associé à la facette de type. Le paramètre nécessaire à sa création est ctype = le CType désiré .
StructureCTypeModifier: Définit le type principal associé à la facette de type pour un Role. Le paramètre nécessaire à sa création est structure = la Structure à partir de laquelle le CType sera créé .
DomainModifier.Interval: Définit un interval représentant le domain à fixer pour la facette. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.INTERVAL_MODIFIER et args[0] = la borne inférieur, args[1] = la borne superieur, args[2] = un boolean specifiant si la borne inférieur est fermée ou non et args[3] = un boolean specifiant si la borne suprérieur est fermée ou non.
DomainModifier.Set: Définit un ensemble de valeurs représentant le domaine à fixer pour la facette. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.SET_MODIFIER et args[0] = l'ensemble des valeurs du domaine.
DomainModifier.Cardinality: Définit la cardinalité pour les valeurs multivaluées. La cardinalité est un interval définissant le nombre minimum et maximum d'éléments que les valeurs multivaluées peuvent contenir. Ce modifieur n'a donc de signification que pour les MultiValCT. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.CARD_MODIFIER, args[0] = le nombre minimun d'élements autorisé et args[1] = le nombre maximum d'élements autorisé ou null si + infinie.
Pour la facette d'inférence (ModifierFactory.createInferenceModifier(String identifier, Object[] args) )
DefaultValueModifier: Définit une valeur par défaut. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.DEFAULT_VALUE_MODIFIER et args[0] = la valeur par défaut.
AttachmentModifier: Définit l'attachement procedural associé à une variable. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.ATTACHMENT_MODIFIER et args[0] = une String définissant le nom complet de la classe Java à instancier (nom de package inclus) et args[1] = une String définissant le nom de la méthode à appeler.
AMLEquationModifier: Définit l'equation AML associé à une variable. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.AML_EQUATION_MODIFIER et args[0] = une String représentant l'équation AML.
Pour la facette de contrôle d'instanciation (ModifierFactory.createICModifier(String identifier, Object[] args) )
MultiplicityModifier: Définit la multiplicite pour un role d'une strutcure. Les paramètres nécessaire à sa création sont identifier = ModifierFactory.MULTIPLICITY_MODIFIER et args[0] = le nom du role auquel s'applique la multiplicite, args[1] = la valeur minimum de la multiplicite et args[2] = la valeur maximum de la multiplicite.

| Précédent | Sommaire | Niveau supérieur | Suivant |
| Modificateurs de facettes | Traitements spécifiques aux structures | ||