Resource Markers


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





<!ATTLIST super


<!ELEMENT persistent EMPTY>

<!ATTLIST persistent

value (true | false) >

<!ELEMENT attribute EMPTY>

<!ATTLIST attribute


Following is an example of a marker configuration:

   <extension id="" 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"/> 

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, 2008 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at SPDX-License-Identifier: EPL-2.0