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 super EMPTY>
<!ATTLIST super
type
CDATA #REQUIRED
>
Following is an example of a builder configuration:
<extension id="com.xyz.coolMarker" point="org.eclipse.core.resources.markers"
name="Cool Marker">
<transient value="false"/>
<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.