Interface IBreakpointManager


public interface IBreakpointManager
The breakpoint manager manages the collection of breakpoints in the workspace. A breakpoint suspends the execution of a program being debugged. The kinds of breakpoints supported by each debug architecture and the information required to create those breakpoints is defined by each debug architecture. Breakpoint creation is a client responsibility.

Clients interested in breakpoint change notification may register with the breakpoint manager - see IBreakpointListener and IBreakpointsListener

See Also:
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • addBreakpoint

      void addBreakpoint(IBreakpoint breakpoint) throws CoreException
      Adds the given breakpoint to the collection of registered breakpoints in the workspace and notifies all registered listeners. This has no effect if the given breakpoint is already registered.
      Parameters:
      breakpoint - the breakpoint to add
      Throws:
      CoreException - if adding fails. Reasons include:
      • CONFIGURATION_INVALID - the required MODEL_IDENTIFIER attribute is not set on the breakpoint marker.
      • A CoreException occurred while verifying the MODEL_IDENTIFIER attribute.
      Since:
      2.0
    • addBreakpoints

      void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException
      Adds the given breakpoints to the collection of registered breakpoints in the workspace and notifies all registered listeners. Has no effect on breakpoints that are already registered.
      Parameters:
      breakpoints - the breakpoints to add
      Throws:
      CoreException - if adding fails. Reasons include:
      • CONFIGURATION_INVALID - the required MODEL_IDENTIFIER attribute is not set on a breakpoint marker.
      • A CoreException occurred while verifying a MODEL_IDENTIFIER attribute.
      Since:
      2.1
    • getBreakpoint

      IBreakpoint getBreakpoint(IMarker marker)
      Returns the breakpoint associated with the given marker or null if no such breakpoint exists
      Parameters:
      marker - the marker
      Returns:
      the breakpoint associated with the marker or null if none exists
      Since:
      2.0
    • getBreakpoints

      IBreakpoint[] getBreakpoints()
      Returns a collection of all registered breakpoints. Returns an empty array if no breakpoints are registered.
      Returns:
      an array of breakpoints
      Since:
      2.0
    • hasBreakpoints

      boolean hasBreakpoints()
      Returns whether there are any registered breakpoints.
      Returns:
      whether there are any registered breakpoints
      Since:
      2.0
    • getBreakpoints

      IBreakpoint[] getBreakpoints(String modelIdentifier)
      Returns a collection of all breakpoints registered for the given debug model. Answers an empty array if no breakpoints are registered for the given debug model.
      Parameters:
      modelIdentifier - identifier of a debug model plug-in
      Returns:
      an array of breakpoints
      Since:
      2.0
    • isRegistered

      boolean isRegistered(IBreakpoint breakpoint)
      Returns whether the given breakpoint is currently registered with this breakpoint manager.
      Parameters:
      breakpoint - a breakpoint
      Returns:
      whether the breakpoint is registered
      Since:
      2.0
    • fireBreakpointChanged

      void fireBreakpointChanged(IBreakpoint breakpoint)
      Notifies all registered listeners that the given breakpoint has changed. Has no effect if the given breakpoint is not currently registered. This method is intended to be used when a breakpoint attribute is changed that does not alter the breakpoint's underlying marker, that is, when notification will not occur via the marker delta mechanism.
      Parameters:
      breakpoint - the breakpoint that has changed.
      Since:
      2.0
    • removeBreakpoint

      void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException
      Removes the given breakpoint from the breakpoint manager, deletes the marker associated with the breakpoint if the delete flag is true, and notifies all registered listeners. Has no effect if the given breakpoint is not currently registered.
      Parameters:
      breakpoint - the breakpoint to remove
      delete - whether to delete the marker associated with the breakpoint
      Throws:
      CoreException - if an exception occurs while deleting the underlying marker.
      Since:
      2.0
    • removeBreakpoints

      void removeBreakpoints(IBreakpoint[] breakpoints, boolean delete) throws CoreException
      Removes the given breakpoints from the breakpoint manager, deletes the markers associated with the breakpoints if the delete flag is true, and notifies all registered listeners. Has no effect on breakpoints not currently registered.
      Parameters:
      breakpoints - the breakpoints to remove
      delete - whether to delete the markers associated with the breakpoints
      Throws:
      CoreException - if an exception occurs while deleting an underlying marker.
      Since:
      2.1
    • addBreakpointListener

      void addBreakpointListener(IBreakpointListener listener)
      Adds the given listener to the collection of registered breakpoint listeners. Has no effect if an identical listener is already registered.
      Parameters:
      listener - the listener to add
    • removeBreakpointListener

      void removeBreakpointListener(IBreakpointListener listener)
      Removes the given listener from the collection of registered breakpoint listeners. Has no effect if an identical listener is not already registered.
      Parameters:
      listener - the listener to remove
    • addBreakpointListener

      void addBreakpointListener(IBreakpointsListener listener)
      Adds the given listener to the collection of registered breakpoint listeners. Has no effect if an identical listener is already registered.
      Parameters:
      listener - the listener to add
      Since:
      2.1
    • removeBreakpointListener

      void removeBreakpointListener(IBreakpointsListener listener)
      Removes the given listener from the collection of registered breakpoint listeners. Has no effect if an identical listener is not already registered.
      Parameters:
      listener - the listener to remove
      Since:
      2.1
    • addBreakpointManagerListener

      void addBreakpointManagerListener(IBreakpointManagerListener listener)
      Adds the given listener to the collection of registered breakpoint manager listeners. Has no effect if an identical listener is already registered.
      Parameters:
      listener - the listener to add
      Since:
      3.0
    • removeBreakpointManagerListener

      void removeBreakpointManagerListener(IBreakpointManagerListener listener)
      Removes the given listener from the collection of registered breakpoint manager listeners. Has no effect if an identical listener is not already registered.
      Parameters:
      listener - the listener to remove
      Since:
      3.0
    • isEnabled

      boolean isEnabled()
      Returns whether or not this breakpoint manager is enabled. When a breakpoint manager is enabled, all breakpoints should be honored. When it is disabled, breakpoints should not be honored, regardless of each breakpoint's enabled state.
      Returns:
      whether or not this breakpoint manager is enabled
      Since:
      3.0
    • setEnabled

      void setEnabled(boolean enabled)
      Sets the enabled state of this breakpoint manager. When enabled, breakpoints should be honoured. When disabled, all breakpoints should be ignored.
      Parameters:
      enabled - whether this breakpoint manager should be enabled
      Since:
      3.0
    • getTypeName

      String getTypeName(IBreakpoint breakpoint)
      Returns the name (user readable String) of the given breakpoint's type or null if none has been specified.
      Parameters:
      breakpoint - the breakpoint
      Returns:
      the name of the given breakpoint's type or null
      Since:
      3.1
    • getImportParticipants

      IBreakpointImportParticipant[] getImportParticipants(String markertype) throws CoreException
      Returns an array of IBreakpointImportParticipants for the given breakpoint marker id, never null.
      Parameters:
      markertype - the String identifier of the marker type
      Returns:
      an array of IBreakpointImportParticipants for the given marker type, never null
      Throws:
      CoreException - if an exception occurs
      Since:
      3.5
    • getTriggerPoints

      IBreakpoint[] getTriggerPoints()
      Returns the triggers for the breakpoints associated with the workspace or null if no such breakpoint exists
      Returns:
      the triggers breakpoint associated with the workspace or null if none exists
      Since:
      3.11
    • addTriggerPoint

      void addTriggerPoint(IBreakpoint breakpoint) throws CoreException
      Adds the given breakpoint as the triggering breakpoint in the workspace and notifies all registered listeners.
      Parameters:
      breakpoint - the breakpoint to be added as the trigger point
      Throws:
      CoreException - if adding fails. Reasons include:
      • CONFIGURATION_INVALID - the required MODEL_IDENTIFIER attribute is not set on the breakpoint marker.
      • A CoreException occurred while verifying the MODEL_IDENTIFIER attribute.
      Since:
      3.11
    • removeTriggerPoint

      void removeTriggerPoint(IBreakpoint breakpoint) throws CoreException
      Removes the given breakpoint as the trigger breakpoint in the workspace and notifies all registered listeners.
      Parameters:
      breakpoint - the breakpoint to be removed as the trigger point
      Throws:
      CoreException - if adding fails. Reasons include:
      • CONFIGURATION_INVALID - the required MODEL_IDENTIFIER attribute is not set on the breakpoint marker.
      • A CoreException occurred while verifying the MODEL_IDENTIFIER attribute.
      Since:
      3.11
    • removeAllTriggerPoints

      void removeAllTriggerPoints() throws CoreException
      Removes all the trigger points from the breakpoint manager.
      Throws:
      CoreException - if an exception occurs while deleting an underlying marker.
      Since:
      3.11
    • hasActiveTriggerPoints

      boolean hasActiveTriggerPoints()
      Returns whether a workspace has active TriggerPoints
      Returns:
      return true if a breakpoint has active triggers and cannot suspend and return false otherwise.
      Since:
      3.11
    • enableTriggerPoints

      void enableTriggerPoints(IBreakpoint[] triggerPoints, boolean enable)
      Revisit all the trigger points to activate/deactivate trigger points.
      Parameters:
      triggerPoints - list of trigger points to be deactivated or null to deactivate all trigger points
      enable - enable if true or disable if false
      Since:
      3.11
    • refreshTriggerpointDisplay

      void refreshTriggerpointDisplay()
      Touch and refresh the display of all breakpoints.
      Since:
      3.11