GS-reactor, annotations — Les paramètres path et pos, priorité des annotations

Les paramètres path et pos

Toutes les annotations définies dans le réacteur permettent de préciser des paramètres path et pos en plus des paramètres décrits ci-dessus. Ces paramètres permettent d’appliquer des commandes non seulement aux instances de la classe sur laquelle les annotations sont placées, mais aussi sur n’importe lequel de leurs descendants. Cela permet de préciser le comportement de descendants du composant que l’on écrit et d’éviter de créer une nouvelle classe à chaque fois que l’on veut modifier le comportement d’un tag.

Le paramètre path a comme valeur un tableau de classes indiquant les classes des instances du chemin à emprunter lors de la descente dans l’arbre pour aboutir au(x) tag(s) concerné(s) par l’annotation.

Il n’est pas obligatoire de préciser la classe exacte de ces tags, mais seulement une superclasse.

Continue reading GS-reactor, annotations — Les paramètres path et pos, priorité des annotations

GS-reactor ― Annotations personnalisées

Il est possible de définir des annotations personnalisées en plus des annotations définies dans le réacteur. Afin de pouvoir être correctement interprétées par le réacteur, les annotations personnalisées doivent remplir un certain nombre de conditions :

  • Avoir @Retention(RetentionPolicy.RUNTIME) et @Target(ElementType.TYPE) ;
  • Être répétables, avec @Repeatable(...) ;
  • Définir les attributs path() et pos(), avec des tableaux vides comme valeur par défaut ;
  • Définir le traitement à effectuer pour l’annotation à l’aide de @Process.

Voici un exemple de définition d’annotation :

Continue reading GS-reactor ― Annotations personnalisées