Un gestionnaire d'événement peut lancer automatiquement un script VBScript lorsqu'un événement se produit sur un objet. Vous pouvez associer un gestionnaire d'événement à une métaclasse ou à un stéréotype ; les critères ne prennent pas en charge les gestionnaires d'événement.
Les types de gestionnaire d'événement suivants sont disponibles dans PowerAMC :
Gestionnaire d'événement |
Description |
---|---|
CanCreate |
Utilisé pour mettre 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 BusinessTransactions doit être créé 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 CanCreate est défini sur un stéréotype et que la valeur de retour de la fonction est True, vous pouvez utiliser l'outil personnalisé pour crée l'objet personnalisé. Dans le cas contraire, l'outil personnalisé n'est pas disponible, et la liste Stéréotype n'affiche pas le stéréotype correspondant. S'il est défini sur une métaclasse et que la valeur de retour de la fonction est True, vous pouvez alors créer l'objet à partir de la palette d'outils, à partir de l'Explorateur d'objets ou bien dans une liste. Remarquez que si vous importez un modèle ou procédez à son reverse engineering, les fonctions CanCreate sont ignorées car elles 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. ... ' Search for an existing requesting activity 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 ' Create a requesting activity if not found 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éotypeet que la valeur de retour de la fonction est True, le script d'initialisation sera lancé chaque fois que le stéréotype est affecté, soit à l'aide d'un outil personnalisé dans la palette, soit à partir de la feuille de propriétés d'objet. S'il est défini sur une métaclasse et si la valeur de retour de la fonction est True, le script d'initialisation sera lancé lorsque vous créez un nouvel objet à partir de la palette d'outils, à partir de l'Explorateur d'objets, dans une liste, ou bien en utilisant l'outil Nouveau dans une feuille de propriétés. Si gestionnaire d'événement Initialize est défini sur la métaclasse model et si la valeur de retour de la fonction est True, le script d'initialisation est lancé 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 définition étendue de modèle à ce modèle. |
Validate |
Utilisé pour valider les changements effectués sur les propriétés d'objet et mettre en oeuvre des mises à jour en cascade. Il est déclenché lorsque l'utilisateur change d'onglet ou clique sur OK ou sur Appliquer dans la 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. Pour ce faire, renseignez la variable message et définissez la variable %Validate% à False. Dans l'exemple suivant, le gestionnaire d'événement Validate vérifie qu'un commentaire est ajouté dans la définition d'un objet lorsque l'utilisateur valide dans la feuille de propriétés. Un message s'affiche pour expliquer le problème. Function %Validate%(obj, ByRef message) if obj.comment = "" then %Validate% = False message = "Comment cannot be empty" else %Validate% = True end if End Function |
CanLinkKind |
[objets de lien uniquement] Utilisé pour limiter le type et le stéréotype des objets que vous souhaitez lier. Il est déclenché lorsque l'utilisateur crée un lien à l'aide de la palette d'outils ou change l'extrémité d'un lien dans une feuille de propriétés. Ce gestionnaire d'événement a deux paramètres d'entrée : l'extrémité source et l'extrémité de destination du lien. Vous pouvez également utiliser les paramètres sourceStereotype et destinationStereotype qui sont facultatifs et qui permettent d'effectuer des contrôles supplémentaires sur les stéréotypes. 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 |