#
Resource Markers

###### Identifier:

org.eclipse.core.resources.markers

###### Description:

The workspace supports the notion of markers on arbitrary resources. A marker is a kind of metadata (similar to properties) which can be used to tag resources with user information. Markers are optionally persisted by the workspace whenever a workspace save or snapshot is done.

Users can define and query for markers of a given type. Marker types are defined in a hierarchy which support multiple-inheritance. Marker type definitions also specify a number attributes which must or may be present on a marker of that type as well as whether or not markers of that type should be persisted.

The markers extension-point allows marker writers to register their marker types under a symbolic name that is then used from within the workspace to create and query markers. The symbolic name is the id of the marker extension. When defining a marker extension, users are encouraged to include a human-readable value for the "name" attribute which indentifies their marker and potentially may be presented to users.

###### Configuration Markup:

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

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT super EMPTY>

<!ATTLIST super

type CDATA #REQUIRED>

- type - the fully-qualified id of a marker super type (i.e., a marker type defined by another marker extension)

<!ELEMENT persistent EMPTY>

<!ATTLIST persistent

value (true | false) >

- value - "`true`" or "`false`" indicating whether or not markers of this type should be persisted by the workspace. If the persistent characteristic is not specified, the marker type is not persisted.

<!ELEMENT attribute EMPTY>

<!ATTLIST attribute

name CDATA #REQUIRED>

- name - the name of an attribute which may be present on markers of this type

###### Examples:

Following is an example of a marker configuration:

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

###### API Information:

All markers, regardless of their type, are instances of `org.eclipse.core.resources.IMarker`.

###### Supplied Implementation:

The platform itself has a number of pre-defined marker types. Particular product installs may include additional markers as required.

Copyright (c) 2002, 2004 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html