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:
    IBreakpointListener, IBreakpointsListener
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Method Detail

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