Chaque type d'annotation possède sa propre
sémantique et prend en charge un ensemble de propriétés.
Pour définir un nouveau type d'annotation, effectuez les étapes suivantes :
- Déclarez un nouveau type d'annotation dans le fichier plugin.xml en utilisant le
point d'extension com.ibm.rational.test.lt.recorder.core.recorderAnnotation et
l'élément annotationType.
- Affectez au type un ID unique. Généralement, cet ID est de la forme nomplugin.type.
- Affectez au type un nom lisible par l'utilisateur. Ce nom est visible dans l'éditeur
de session d'enregistrement.
Les étapes suivantes sont optionnelles ; effectuez-les de meilleurs résultats :
- Définissez une interface contenant une constante de type chaîne avec l'ID de type
d'annotation défini ci-dessus.
- Dans cette interface, incluez une constante de type chaîne pour chaque nom de
propriété pris en charge par le type d'annotation. Spécifiez la signification et le type de la propriété dans le
Javadoc des constantes. Les types de
propriété peuvent être ceux pris en charge par les méthodes d'accès set et get de la
classe com.ibm.rational.test.lt.recorder.core.property.AbstractConfiguration.
Définissez également un fournisseur de libellé pour le type d'annotation. Un
fournisseur de libellé renvoie un libellé dynamique en fonction des propriétés
d'annotation et une image. Le libellé et l'icône sont visibles dans l'éditeur
de session d'enregistrement. Pour définir un fournisseur de libellé, effectuez les étapes suivantes :
- Déclarez une nouveau fournisseur de libellé d'annotation dans le fichier plugin.xml en utilisant le
point d'extension com.ibm.rational.test.lt.recorder.ui.annotationContribution et
l'élément annotationLabelProvider.
- Indiquez le type d'annotation pris en charge par le fournisseur de libellé.
- Définissez une classe d'implémentation pour le fournisseur de libellé. Cette classe
d'implémentation doit implémenter l'interface JFace ILabelProvider. Un objet
passé à cette interface est toujours une instance de la
classe com.ibm.rational.test.lt.recorder.core.annotations.RecorderAnnotation.