Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.eclipse.debug.core.model
Interface IBreakpoint  view IBreakpoint download IBreakpoint.java

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable
All Known Subinterfaces:
ILineBreakpoint
All Known Implementing Classes:
Breakpoint, LineBreakpoint

public interface IBreakpoint
extends org.eclipse.core.runtime.IAdaptable

A breakpoint is capable of suspending the execution of a program at a specific location when a program is running in debug mode. Each breakpoint has an associated marker which stores and persists all attributes associated with a breakpoint.

A breakpoint is defined in two parts:

  1. By an extension of kind "org.eclipse.debug.core.breakpoints"
  2. By a marker definition that corresponds to the above breakpoint extension

For example, following is a definition of corresponding breakpoint and breakpoint marker definitions. Note that the markerType attribute defined by the breakpoint extension corresponds to the type of the marker definition.

 <extension point="org.eclipse.debug.core.breakpoints">
   <breakpoint 
      id="com.example.Breakpoint"
      class="com.example.Breakpoint"
      markerType="com.example.BreakpointMarker">
   </breakpoint>
 </extension>
 <extension point="org.eclipse.core.resources.markers">
   <marker 
      id="com.example.BreakpointMarker"
      super type="org.eclipse.debug.core.breakpointMarker"
      attribute name ="exampleAttribute">
   </marker>
 </extension>
 

The breakpoint manager instantiates persisted breakpoints by traversing all markers that are a subtype of "org.eclipse.debug.core.breakpointMarker", and instantiating the class defined by the class attribute on the associated breakpoint extension. The method setMarker is then called to associate a marker with the breakpoint.

Breakpoints may or may not be registered with the breakpoint manager, and are persisted and restored as such. Since marker definitions only allow all or none of a specific marker type to be persisted, breakpoints define a PERSISTED attribute for selective persistence of breakpoints of the same type.

Since:
2.0

Field Summary
static java.lang.String BREAKPOINT_MARKER
          Root breakpoint marker type (value "org.eclipse.debug.core.breakpoint").
static java.lang.String ENABLED
          Enabled breakpoint marker attribute (value "org.eclipse.debug.core.enabled").
static java.lang.String ID
          Debug model identifier breakpoint marker attribute (value "org.eclipse.debug.core.id").
static java.lang.String LINE_BREAKPOINT_MARKER
          Line breakpoint marker type (value "org.eclipse.debug.core.lineBreakpoint").
static java.lang.String PERSISTED
          Persisted breakpoint marker attribute (value "org.eclipse.debug.core.persisted").
static java.lang.String REGISTERED
          Registered breakpoint marker attribute (value "org.eclipse.debug.core.registered").
 
Method Summary
 void delete()
          Deletes this breakpoint's underlying marker, and removes this breakpoint from the breakpoint manager.
 org.eclipse.core.resources.IMarker getMarker()
          Returns the marker associated with this breakpoint, or null if no marker is associated with this breakpoint.
 java.lang.String getModelIdentifier()
          Returns the identifier of the debug model this breakpoint is associated with.
 boolean isEnabled()
          Returns whether this breakpoint is enabled
 boolean isPersisted()
          Returns whether this breakpoint is to be persisted across workspace invocations, or when a project is closed and re-opened.
 boolean isRegistered()
          Returns whether this breakpoint is currently registered with the breakpoint manager.
 void setEnabled(boolean enabled)
          Sets the enabled state of this breakpoint.
 void setMarker(org.eclipse.core.resources.IMarker marker)
          Sets the marker associated with this breakpoint.
 void setPersisted(boolean registered)
          Sets whether this breakpoint is to be persisted across workspace invocations, or when a project is closed and re-opened.
 void setRegistered(boolean registered)
          Sets whether this breakpoint is currently registered with the breakpoint manager.
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Field Detail

BREAKPOINT_MARKER

public static final java.lang.String BREAKPOINT_MARKER
Root breakpoint marker type (value "org.eclipse.debug.core.breakpoint").


LINE_BREAKPOINT_MARKER

public static final java.lang.String LINE_BREAKPOINT_MARKER
Line breakpoint marker type (value "org.eclipse.debug.core.lineBreakpoint").


ENABLED

public static final java.lang.String ENABLED
Enabled breakpoint marker attribute (value "org.eclipse.debug.core.enabled"). The attribute is a boolean corresponding to the enabled state of a breakpoint.

See Also:
IMarker.getAttribute(String, boolean)>IMarker.getAttribute(String, boolean) 55 , Constant Field Values

ID

public static final java.lang.String ID
Debug model identifier breakpoint marker attribute (value "org.eclipse.debug.core.id"). The attribute is a String corresponding to the identifier of the debug model a breakpoint is associated with.

See Also:
Constant Field Values

REGISTERED

public static final java.lang.String REGISTERED
Registered breakpoint marker attribute (value "org.eclipse.debug.core.registered"). The attribute is a boolean corresponding to whether a breakpoint has been registered with the breakpoint manager.

See Also:
IMarker.getAttribute(String, boolean)>IMarker.getAttribute(String, boolean) 55 , Constant Field Values

PERSISTED

public static final java.lang.String PERSISTED
Persisted breakpoint marker attribute (value "org.eclipse.debug.core.persisted"). The attribute is a boolean corresponding to whether a breakpoint is to be persisted accross workspace invocations.

See Also:
IMarker.getAttribute(String, boolean)>IMarker.getAttribute(String, boolean) 55 , Constant Field Values
Method Detail

delete

public void delete()
            throws org.eclipse.core.runtime.CoreException
Deletes this breakpoint's underlying marker, and removes this breakpoint from the breakpoint manager.


getMarker

public org.eclipse.core.resources.IMarker getMarker()
Returns the marker associated with this breakpoint, or null if no marker is associated with this breakpoint.


setMarker

public void setMarker(org.eclipse.core.resources.IMarker marker)
               throws org.eclipse.core.runtime.CoreException
Sets the marker associated with this breakpoint. This method is called once at breakpoint creation.


getModelIdentifier

public java.lang.String getModelIdentifier()
Returns the identifier of the debug model this breakpoint is associated with.


isEnabled

public boolean isEnabled()
                  throws org.eclipse.core.runtime.CoreException
Returns whether this breakpoint is enabled


setEnabled

public void setEnabled(boolean enabled)
                throws org.eclipse.core.runtime.CoreException
Sets the enabled state of this breakpoint. This has no effect if the current enabled state is the same as specified by the enabled parameter.


isRegistered

public boolean isRegistered()
                     throws org.eclipse.core.runtime.CoreException
Returns whether this breakpoint is currently registered with the breakpoint manager.


setRegistered

public void setRegistered(boolean registered)
                   throws org.eclipse.core.runtime.CoreException
Sets whether this breakpoint is currently registered with the breakpoint manager.


isPersisted

public boolean isPersisted()
                    throws org.eclipse.core.runtime.CoreException
Returns whether this breakpoint is to be persisted across workspace invocations, or when a project is closed and re-opened. Since marker definitions only allow all/none of a specific type of marker to be persisted (rather than selected markers of a specific type), breakpoints define this functionality.


setPersisted

public void setPersisted(boolean registered)
                  throws org.eclipse.core.runtime.CoreException
Sets whether this breakpoint is to be persisted across workspace invocations, or when a project is closed and re-opened. Has no effect if this breakpoint's marker definition is defined as not persisted. Sets the underlying TRANSIENT attribute on this breakpoint's marker to true.