Trigger
Référentiel d’utilisation des triggers
Création et utilisation d’un trigger
Ces extensions sont appelées très bas niveau (indépendamment de toute interface graphique) sur des évènements identifiés.
Il faut hériter de la classe com.axemble.vdoc.sdk.triggers.base.BaseObjectTrigger<T>
(utilisation des « generics »).
public void onBeforeCreate(T object)
public void onBeforeSave(T object)
public void onAfterSave(T object)
public void onBeforeDelete(T object)
public void onAfterDelete(T object)
public void onFieldChanged(T object, String fieldName, Object oldValue, Object newValue)
Un appel est généré sur ces évènements quelle que soit la manière dont ils ont été déclenchés.
Ordre de déclenchement des méthodes
- Dans le cas d’une création :
public void onBeforeCreate(T object) public void onBeforeSave(T object) public void onAfterSave(T object)
- Dans le cas d’une mise à jour :
public void onBeforeSave(T object) public void onAfterSave(T object)
- Dans le cas d’une suppression :
public void onBeforeDelete(T object) public void onAfterDelete(T object)
Déclaration des triggers
La classe peut être déclarée dans un fichier XML situé sous « custom\triggers ».
Paramètres XML
Paramètre | Description |
---|---|
name | Nom système du trigger (unique) |
type | Sur quel objet SDK captons-nous des évènements ? |
triggerClass | Classe trigger |
fields | On peut placer les noms systèmes des champs de l’annuaire séparés par des ‘,’.
|
execution |
|
Exemple de fichier XML de déclaration de triggers
<triggers>
<trigger name="UpdateUserFromAD" type="com.axemble.vdoc.sdk.interfaces.IUser" triggerClass="com.vdoc.speLVL.directory.trigger.UpdateUsersFromAD" />
</triggers>
Ou pour le “onPropertyChanged” :
<triggers>
<trigger name="UpdateUserFields" type="com.axemble.vdoc.sdk.interfaces.IUser" triggerClass="com.vdoc.speLVL.directory.trigger.UpdateUsersFromAD" fields="XXX,XXX,XXX" execution="synchronous" />
</triggers>
Source : https://wiki.myvdoc.net/xwiki/bin/view/Dev+Floor/ReferenceTrigger