Package org.eclipse.debug.core.model

# Class Breakpoint

java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.debug.core.model.Breakpoint

All Implemented Interfaces:
  `IAdaptable`, `IBreakpoint`, `ITriggerPoint`

Direct Known Subclasses:
  `LineBreakpoint`

public abstract class Breakpoint extends PlatformObject implements IBreakpoint, ITriggerPoint
Abstract implementation of a breakpoint. This class is intended to be sub-classed by implementations of breakpoints.

Since:
  2.0
See Also:
  - `IBreakpoint`

## Field Summary

### Fields inherited from interface org.eclipse.debug.core.model.IBreakpoint

`BREAKPOINT_MARKER, ENABLED, ID, LINE_BREAKPOINT_MARKER, PERSISTED, REGISTERED`

### Fields inherited from interface org.eclipse.debug.core.model.ITriggerPoint

`TRIGGERPOINT`

## Constructor Summary

Constructors
Constructor
Description
`Breakpoint()`
Creates a breakpoint.

## Method Summary

Modifier and Type
Method
Description
`void`
`delete()`
Deletes this breakpoint's underlying marker, and removes this breakpoint from the breakpoint manager.
`protected IMarker`
`ensureMarker()`
Returns the marker associated with this breakpoint.
`boolean`
`equals(Object item)`
`IMarker`
`getMarker()`
Returns the marker associated with this breakpoint, or `null` if no marker is associated with this breakpoint.
`protected ISchedulingRule`
`getMarkerRule()`
Returns a scheduling rule to use when modifying or deleting this breakpoint's marker, possibly `null`.
`protected ISchedulingRule`
`getMarkerRule(IResource resource)`
Returns a scheduling rule to use when modifying markers on the given resource, possibly `null`.
`int`
`hashCode()`
`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.
`boolean`
`isTriggerPoint()`
Returns whether this breakpoint is defined as a trigger point in the workspace.
`protected boolean`
`markerExists()`
Returns whether this breakpoint has an associated marker that exists.
`protected void`
`run(ISchedulingRule rule, IWorkspaceRunnable wr)`
Execute the given workspace runnable with the scheduling rule to use when running the operation.
`protected void`
`setAttribute(String attributeName, boolean value)`
Convenience method to set the given boolean attribute of this breakpoint's underlying marker in a workspace runnable.
`protected void`
`setAttribute(String attributeName, int value)`
Convenience method to set the given integer attribute of this breakpoint's underlying marker in a workspace runnable.
`protected void`
`setAttribute(String attributeName, Object value)`
Convenience method to set the given attribute of this breakpoint's underlying marker in a workspace runnable.
`protected void`
`setAttributes(String[] attributeNames, Object[] values)`
Convenience method to set the given attributes of this breakpoint's underlying marker in a workspace runnable.
`protected void`
`setAttributes(Map<String,? extends Object> attributes)`
Convenience method to set the attributes of this breakpoint's underlying marker in a workspace runnable.
`void`
`setEnabled(boolean enabled)`
Sets the enabled state of this breakpoint.
`void`
`setMarker(IMarker marker)`
Sets the marker associated with this breakpoint.
`void`
`setPersisted(boolean persisted)`
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.
`void`
`setTriggerPoint(boolean triggerPoint)`
Sets whether this breakpoint is to be treated as a trigger point for the workspace.
`String`
`toString()`

### Methods inherited from class org.eclipse.core.runtime.PlatformObject

`getAdapter`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.debug.core.model.IBreakpoint

`getModelIdentifier`

## Constructor Details

### Breakpoint

public Breakpoint()
Creates a breakpoint.

Since:
  3.8

## Method Details

### setMarker

public void setMarker(IMarker marker) throws CoreException
Description copied from interface: `IBreakpoint`
Sets the marker associated with this breakpoint. This method is called once at breakpoint creation.

Specified by:
  `setMarker` in interface `IBreakpoint`
Parameters:
  `marker` - the marker to associate with this breakpoint
Throws:
  `CoreException` - if an error occurs accessing the marker
See Also:
  - `IBreakpoint.setMarker(IMarker)`

### equals

public boolean equals(Object item)

Overrides:
  `equals` in class `Object`
See Also:
  - `Object.equals(Object)`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`
See Also:
  - `Object.hashCode()`

### setEnabled

public void setEnabled(boolean enabled) throws CoreException
Description copied from interface: `IBreakpoint`
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.

Specified by:
  `setEnabled` in interface `IBreakpoint`
Parameters:
  `enabled` - whether this breakpoint should be enabled
Throws:
  `CoreException` - if unable to set the associated attribute on this breakpoint's underlying marker.
See Also:
  - `IBreakpoint.setEnabled(boolean)`

### isEnabled

public boolean isEnabled() throws CoreException
Description copied from interface: `IBreakpoint`
Returns whether this breakpoint is enabled

Specified by:
  `isEnabled` in interface `IBreakpoint`
Returns:
  whether this breakpoint is enabled
Throws:
  `CoreException` - if unable to access the associated attribute from this breakpoint's underlying marker
See Also:
  - `IBreakpoint.isEnabled()`

### isRegistered

public boolean isRegistered() throws CoreException
Description copied from interface: `IBreakpoint`
Returns whether this breakpoint is currently registered with the breakpoint manager.

Specified by:
  `isRegistered` in interface `IBreakpoint`
Returns:
  whether this breakpoint is currently registered with the breakpoint manager
Throws:
  `CoreException` - if unable to access the associated attribute on this breakpoint's underlying marker
See Also:
  - `IBreakpoint.isRegistered()`

### setRegistered

public void setRegistered(boolean registered) throws CoreException
Description copied from interface: `IBreakpoint`
Sets whether this breakpoint is currently registered with the breakpoint manager.

Specified by:
  `setRegistered` in interface `IBreakpoint`
Parameters:
  `registered` - whether this breakpoint is registered with the breakpoint manager
Throws:
  `CoreException` - if unable to set the associated attribute on this breakpoint's underlying marker.
See Also:
  - `IBreakpoint.setRegistered(boolean)`

### delete

public void delete() throws CoreException
Description copied from interface: `IBreakpoint`
Deletes this breakpoint's underlying marker, and removes this breakpoint from the breakpoint manager.

Specified by:
  `delete` in interface `IBreakpoint`
Throws:
  `CoreException` - if unable to delete this breakpoint's underlying marker
See Also:
  - `IBreakpoint.delete()`

### getMarker

public IMarker getMarker()
Description copied from interface: `IBreakpoint`
Returns the marker associated with this breakpoint, or `null` if no marker is associated with this breakpoint.

Specified by:
  `getMarker` in interface `IBreakpoint`
Returns:
  associated marker, or `null` if there is no associated marker.
See Also:
  - `IBreakpoint.getMarker()`

### isPersisted

public boolean isPersisted() throws CoreException
Description copied from interface: `IBreakpoint`
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.

Specified by:
  `isPersisted` in interface `IBreakpoint`
Returns:
  whether this breakpoint is to be persisted
Throws:
  `CoreException` - if unable to access the associated attribute on this breakpoint's underlying marker
See Also:
  - `IBreakpoint.isPersisted()`

### setPersisted

public void setPersisted(boolean persisted) throws CoreException
Description copied from interface: `IBreakpoint`
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`.

Specified by:
  `setPersisted` in interface `IBreakpoint`
Parameters:
  `persisted` - whether this breakpoint is to be persisted across workspace invocations
Throws:
  `CoreException` - if unable to set the associated attribute on this breakpoint's underlying marker.
See Also:
  - `IBreakpoint.setPersisted(boolean)`

### isTriggerPoint

public boolean isTriggerPoint() throws CoreException
Description copied from interface: `ITriggerPoint`
Returns whether this breakpoint is defined as a trigger point in the workspace.

Specified by:
  `isTriggerPoint` in interface `ITriggerPoint`
Returns:
  whether this breakpoint is a trigger point
Throws:
  `CoreException` - if unable to access the associated attribute on this breakpoint's underlying marker
Since:
  3.11
See Also:
  - `IBreakpoint.isPersisted()`

### setTriggerPoint

public void setTriggerPoint(boolean triggerPoint) throws CoreException
Description copied from interface: `ITriggerPoint`
Sets whether this breakpoint is to be treated as a trigger point for the workspace. If it is a trigger point, then the `ITriggerPoint` attribute on this breakpoint's marker is set to `true`.

Specified by:
  `setTriggerPoint` in interface `ITriggerPoint`
Parameters:
  `triggerPoint` - whether this breakpoint is to be treated as trigger point for the workspace
Throws:
  `CoreException` - if unable to set the associated attribute on this breakpoint's underlying marker.
Since:
  3.11
See Also:
  - `ITriggerPoint.setTriggerPoint(boolean)`

### setAttribute

protected void setAttribute(String attributeName, boolean value) throws CoreException
Convenience method to set the given boolean attribute of this breakpoint's underlying marker in a workspace runnable. Setting marker attributes in a workspace runnable prevents deadlock.

Parameters:
  `attributeName` - attribute name
  `value` - attribute value
Throws:
  `CoreException` - is setting the attribute fails
See Also:
  - `IMarker.setAttribute(java.lang.String, boolean)`

### setAttribute

protected void setAttribute(String attributeName, int value) throws CoreException
Convenience method to set the given integer attribute of this breakpoint's underlying marker in a workspace runnable. Setting marker attributes in a workspace runnable prevents deadlock.

Parameters:
  `attributeName` - attribute name
  `value` - attribute value
Throws:
  `CoreException` - is setting the attribute fails
See Also:
  - `IMarker.setAttribute(java.lang.String, int)`

### setAttribute

protected void setAttribute(String attributeName, Object value) throws CoreException
Convenience method to set the given attribute of this breakpoint's underlying marker in a workspace runnable. Setting marker attributes in a workspace runnable prevents deadlock.

Parameters:
  `attributeName` - attribute name
  `value` - attribute value
Throws:
  `CoreException` - is setting the attribute fails
See Also:
  - `IMarker.setAttribute(java.lang.String, java.lang.Object)`

### setAttributes

protected void setAttributes(String[] attributeNames, Object[] values) throws CoreException
Convenience method to set the given attributes of this breakpoint's underlying marker in a workspace runnable. Setting marker attributes in a workspace runnable prevents deadlock.

Parameters:
  `attributeNames` - attribute names
  `values` - attribute values
Throws:
  `CoreException` - is setting the attributes fails
See Also:
  - `IMarker.setAttributes(java.lang.String[], java.lang.Object[])`

### setAttributes

protected void setAttributes(Map<String,? extends Object> attributes) throws CoreException
Convenience method to set the attributes of this breakpoint's underlying marker in a workspace runnable. Setting marker attributes in a workspace runnable prevents deadlock.

Parameters:
  `attributes` - attribute map
Throws:
  `CoreException` - is setting the attributes fails
See Also:
  - `IMarker.setAttributes(java.util.Map)`

### ensureMarker

protected IMarker ensureMarker() throws DebugException
Returns the marker associated with this breakpoint.

Returns:
  breakpoint marker
Throws:
  `DebugException` - if no marker is associated with this breakpoint or the associated marker does not exist

### markerExists

protected boolean markerExists()
Returns whether this breakpoint has an associated marker that exists.

Returns:
  returns whether this breakpoint has an associated marker that exists
Since:
  2.1

### getMarkerRule

protected ISchedulingRule getMarkerRule(IResource resource)
Returns a scheduling rule to use when modifying markers on the given resource, possibly `null`.

Parameters:
  `resource` - a resource on which a marker will be created, modified, or deleted
Returns:
  a scheduling rule to use when modifying markers on the given resource possibly `null`
Since:
  3.1

### getMarkerRule

protected ISchedulingRule getMarkerRule()
Returns a scheduling rule to use when modifying or deleting this breakpoint's marker, possibly `null`. This method is only valid when this breakpoint's marker has already been created. When creating a marker on a specific resource, use `getMarkerRule(IResource)` instead.

Returns:
  a scheduling rule to use when modifying or deleting this breakpoint's marker
Since:
  3.1

### run

protected void run(ISchedulingRule rule, IWorkspaceRunnable wr) throws DebugException
Execute the given workspace runnable with the scheduling rule to use when running the operation.

Parameters:
  `rule` - the rule to use when running the operation
  `wr` - the runnable operation
Throws:
  `DebugException` - If a core exception occurs performing the operation
Since:
  3.1

### toString

public String toString()

Overrides:
  `toString` in class `Object`