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 :