Marqueurs de ressource

org.eclipse.core.resources.markers

L'espace de travail supporte la notion de marqueurs sur des ressources arbitraires. Un marqueur est une sorte de métadonnée (similaire aux propriétés) qui peut être utilisée pour marquer les ressources avec des informations utilisateur. Les marqueurs peuvent être éventuellement conservés par l'espace de travail à chaque sauvegarde ou cliché de l'espace de travail.

Les utilisateurs peuvent définir et demander des marqueurs d'un type donné. Les types de marqueur sont définis dans une hiérarchie qui prend en charge des héritages multiples. Les définitions de type de marqueur indiquent également un certain nombre d'attributs qui doivent ou peuvent être présents sur un marqueur de ce type ainsi que si les marqueurs de ce type doivent ou non être conservés.

Le point d'extension des marqueurs permet aux éditeurs de marqueur d'enregistrer leur types de marqueur sous un nom symbolique qui est ensuite utilisé dans l'espace de travail pour créer et demander des marqueurs. Ce nom symbolique est l'ID de l'extension du marqueur. Lors de la définition d'une extension de marqueur, les utilisateurs sont encouragés à inclure une valeur lisible par l'homme pour l'attribut "name" (nom) qui identifie leur marqueur et qui peut être potentiellement présenté aux utilisateurs.

<!ELEMENT extension (super* , persistent? , attribute*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT super EMPTY>

<!ATTLIST super

type CDATA #REQUIRED>


<!ELEMENT persistent EMPTY>

<!ATTLIST persistent

value (true | false) >


<!ELEMENT attribute EMPTY>

<!ATTLIST attribute

name  CDATA #REQUIRED>


L'exemple ci-dessous illustre la configuration d'un marqueur :

   

<extension id=

"com.xyz.coolMarker"

point=

"org.eclipse.core.resources.markers"

name=

"Cool Marker"

>

<persistent value=

"true"

/>

<super type=

"org.eclipse.core.resources.problemmarker"

/>

<super type=

"org.eclipse.core.resources.textmarker"

/>

<attribute name=

"owner"

/>

</extension>

Tous les marqueurs, quel que soit leur type, sont des instances de org.eclipse.core.resources.IMarker.

La plateforme comporte un nombre de types de marqueurs prédéfinis. Un produit particulier peut inclure les marqueurs requis.