Package org.eclipse.debug.core

# 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 Summary

Modifier and Type
Method
Description
`void`
`addBreakpoint(IBreakpoint breakpoint)`
Adds the given breakpoint to the collection of registered breakpoints in the workspace and notifies all registered listeners.
`void`
`addBreakpointListener(IBreakpointListener listener)`
Adds the given listener to the collection of registered breakpoint listeners.
`void`
`addBreakpointListener(IBreakpointsListener listener)`
Adds the given listener to the collection of registered breakpoint listeners.
`void`
`addBreakpointManagerListener(IBreakpointManagerListener listener)`
Adds the given listener to the collection of registered breakpoint manager listeners.
`void`
`addBreakpoints(IBreakpoint[] breakpoints)`
Adds the given breakpoints to the collection of registered breakpoints in the workspace and notifies all registered listeners.
`void`
`addTriggerPoint(IBreakpoint breakpoint)`
Adds the given breakpoint as the triggering breakpoint in the workspace and notifies all registered listeners.
`void`
`enableTriggerPoints(IBreakpoint[] triggerPoints, boolean enable)`
Revisit all the trigger points to activate/deactivate trigger points.
`void`
`fireBreakpointChanged(IBreakpoint breakpoint)`
Notifies all registered listeners that the given breakpoint has changed.
`IBreakpoint`
`getBreakpoint(IMarker marker)`
Returns the breakpoint associated with the given marker or `null` if no such breakpoint exists
`IBreakpoint[]`
`getBreakpoints()`
Returns a collection of all registered breakpoints.
`IBreakpoint[]`
`getBreakpoints(String modelIdentifier)`
Returns a collection of all breakpoints registered for the given debug model.
`IBreakpointImportParticipant[]`
`getImportParticipants(String markertype)`
Returns an array of `IBreakpointImportParticipant`s for the given breakpoint marker id, never `null`.
`IBreakpoint[]`
`getTriggerPoints()`
Returns the triggers for the breakpoints associated with the workspace or `null` if no such breakpoint exists
`String`
`getTypeName(IBreakpoint breakpoint)`
Returns the name (user readable String) of the given breakpoint's type or `null` if none has been specified.
`boolean`
`hasActiveTriggerPoints()`
Returns whether a workspace has active TriggerPoints
`boolean`
`hasBreakpoints()`
Returns whether there are any registered breakpoints.
`boolean`
`isEnabled()`
Returns whether or not this breakpoint manager is enabled.
`boolean`
`isRegistered(IBreakpoint breakpoint)`
Returns whether the given breakpoint is currently registered with this breakpoint manager.
`void`
`refreshTriggerpointDisplay()`
Touch and refresh the display of all breakpoints.
`void`
`removeAllTriggerPoints()`
Removes all the trigger points from the breakpoint manager.
`void`
`removeBreakpoint(IBreakpoint breakpoint, boolean delete)`
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.
`void`
`removeBreakpointListener(IBreakpointListener listener)`
Removes the given listener from the collection of registered breakpoint listeners.
`void`
`removeBreakpointListener(IBreakpointsListener listener)`
Removes the given listener from the collection of registered breakpoint listeners.
`void`
`removeBreakpointManagerListener(IBreakpointManagerListener listener)`
Removes the given listener from the collection of registered breakpoint manager listeners.
`void`
`removeBreakpoints(IBreakpoint[] breakpoints, boolean delete)`
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.
`void`
`removeTriggerPoint(IBreakpoint breakpoint)`
Removes the given breakpoint as the trigger breakpoint in the workspace and notifies all registered listeners.
`void`
`setEnabled(boolean enabled)`
Sets the enabled state of this breakpoint manager.

## 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 `IBreakpointImportParticipant`s for the given breakpoint marker id, never `null`.

Parameters:
  `markertype` - the `String` identifier of the marker type
Returns:
  an array of `IBreakpointImportParticipant`s 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