Les gestionnaires d'événement définissent des règles de validation ou d'autres scripts à exécuter lorsqu'un événement se produit sur un objet. La logique du gestionnaire d'événement est définie avec VBScript. Les critères ne prennent pas en charge les gestionnaires d'événement.
Gestionnaire d'événement |
Description |
---|---|
CanCreate |
Met en oeuvre une règle de validation de création afin d'empêcher la création d'objets dans un contexte invalide. Par exemple, dans un MPM pour ebXML, un processus ayant le stéréotype BusinessTransaction ne peut être créé que sous un processus ayant le stéréotype BinaryCollaboration. Le script du gestionnaire d'événement CanCreate associé au processus ayant comme stéréotype BusinessTransaction se présente comme suit : Function %CanCreate%(parent) if parent is Nothing or parent.IsKindOf(PdBpm.Cls_Process) then %CanCreate% = False else %CanCreate% = True end if End Function Si le gestionnaire d'événement renvoie True sur un stéréotype, vous pouvez utiliser l'outil personnalisé pour créer l'objet stéréotypé et le stéréotype est disponible dans la liste Stéréotype de la feuille de propriétés d'objet. S'il renvoie True sur une métaclasse, vous pouvez alors créer l'objet à partir de la Boîte à outils, à partir de l'Explorateur d'objets ou bien dans une liste. Remarque : Les gestionnaires d'événement CanCreate sont ignorés
lors d'une importation de modèle ou d'un reverse
engineering, car ils pourraient modifier le modèle et y
créer des divergences par rapport au modèle
d'origine.
|
Initialize |
Utilisé pour instancier des objets avec
des templates prédéfinis. Par exemple, dans un MPM, un
processus BusinessTransaction doit être un processus
composite avec un sous-graphe prédéfini. Le script du
gestionnaire d'événement Initialize associé au
stéréotype de processus BusinessTransaction contient
toutes les fonctions nécessaires pour la création du
sous-graphe. L'extrait de script suivant est un
sous-ensemble du gestionnaire d'événement Initialize
pour un processus
BusinessTransaction.
... ' Recherche d'une requesting activity existante symbol Dim ReqSym Set ReqSym = Nothing If Not ReqBizAct is Nothing Then If ReqBizAct.Symbols.Count > 0 Then Set ReqSym = ReqBizAct.Symbols.Item(0) End If End If ' Création d'une requesting activity si aucune n'a été trouvée If ReqBizAct is Nothing Then Set ReqBizAct = BizTrans.Processes.CreateNew ReqBizAct.Stereotype = "RequestingBusinessActivity" ReqBizAct.Name = "Request" End If ... Si le gestionnaire d'événement Initialize est défini sur un stéréotype, l'initialisation sera lancée chaque fois que le stéréotype est affecté, soit à l'aide d'un outil personnalisé dans la Boîte à outils, soit à partir de la feuille de propriétés d'objet. S'il renvoie True sur une métaclasse, elle sera lancée lorsque vous créez un nouvel objet à partir de la Boîte à outils, à partir de l'Explorateur d'objets, dans une liste ou dans une feuille de propriétés. S'il renvoie True sur un modèle, elle sera lancée lorsque vous affectez une cible (SGBD, langage objet, langage de processus, langage de schéma) au modèle au moment de la création, lorsque vous changez la cible du modèle ou lorsque vous affectez une extension à ce modèle. |
Validate |
Valide les modifications apportées aux propriétés d'objet ou déclenche des mises à jour en cascade lorsque vous changez d'onglet ou que vous cliquez sur OK ou sur Appliquer dans une feuille de propriétés d'objet. Vous pouvez définir un message d'erreur qui apparaît si la condition n'est pas satisfaite en renseignant la variable de message et en définissant la variable %Validate% à False. Dans l'exemple suivant,
le gestionnaire d'événement vérifie qu'un commentaire
est ajouté dans la définition d'un objet
:
Function %Validate%(obj, ByRef message) if obj.comment = "" then %Validate% = False message = "Le commentaire ne doit pas être vide" else %Validate% = True end if End Function |
CanLinkKind |
[objets de lien] Valide le type et le stéréotype des objets qui peuvent être liés comme extrémités source et destination lorsque vous créez un lien à l'aide d'un outil de la Boîte à outils ou que vous modifiez les extrémités de ligne dans une feuille de propriétés. Les paramètres sourceStereotype et destinationStereotype sont facultatifs. Dans l'exemple suivant, la source du lien étendu doit être un début : Function %CanLinkKind%(sourceKind, sourceStereotype, destinationKind, destinationStereotype) if sourceKind = cls_Start Then %CanLinkKind% = True end if End Function |
OnModelOpen, OnModelSave et OnModelClose |
[modèles] Exécuté immédiatement après l'ouverture, l'enregistrement ou la fermeture d'un modèle. |
OnLanguageChangeRequest, OnLanguageChanging et OnLanguageChanged |
[modèles] Exécuté immédiatement :
|
OnNewFromTemplate |
[modèles] Exécuté immédiatement après la création d'un modèle ou d'un projet à partir d'un template de modèle ou de projet. |
BeforeDatabaseGenerate, AfterDatabaseGenerate, BeforeDatabaseReverseEngineer et AfterDatabaseReverseEngineer |
[MPD] Exécuté immédiatement avant ou après la génération ou le reverse engineering d'une base de données (voir Ajout de scripts avant ou après la génération ou le reverse engineering). |
GetEstimatedSize |
[MPD uniquement] Exécuté lorsque le mécanisme d'estimation de la taille de base de données est appelé (voir Modification du mécanisme d'estimation de taille de base de données). |