Marcadores de Recursos

org.eclipse.core.resources.markers

A área de trabalho suporta o conceito de marcadores em recursos arbitrários. Os marcadores são uma espécie de metadados (semelhantes a propriedades), que podem ser utilizados para identificar recursos com informações do utilizador. A área de trabalho dá continuidade, opcionalmente, aos marcadores, sempre que se guarda a área de trabalho ou se obtém um instantâneo da mesma.

Os utilizadores podem definir e consultar marcadores de um tipo estabelecido. Os tipos de marcadores são definidos numa hierarquia que suporta herança múltipla. As definições de tipos de marcadores também especificam vários atributos que devem ou podem estar presentes num marcador desse tipo, para além de especificarem se deve ser dada continuidade aos marcadores desses tipos.

O ponto de extensão dos marcadores permite a transcritores de marcadores registarem os seus tipos de marcadores com um nome simbólico, que é depois utilizado no interior da área de trabalho para criar e consultar marcadores. O nome simbólico é o id da extensão do marcador. Ao definir uma extensão de marcador, os utilizadores são incentivados a incluir um valor legível por pessoas para o atributo "name", que identifique o seu marcador e que possa ser, eventualmente, apresentado aos utilizadores.

<!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>


De seguida é apresentado um exemplo de uma configuração de marcador:

   

<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>

Todos os marcadores, independentemente do seu tipo, são instâncias-objecto de org.eclipse.core.resources.IMarker.

A plataforma em si possui vários tipos de marcadores pré-definidos. As instalações de um determinado produto poderão incluir marcadores adicionais, consoante for necessário.