package org.eclipse.debug.core; | |
import java.util.Map; | |
import org.eclipse.core.resources.*; | |
import org.eclipse.core.runtime.CoreException; | |
import org.eclipse.debug.core.model.IDebugTarget; | |
public interface IBreakpoint { | |
/*==================================================================== | |
* Marker attributes: | |
*====================================================================*/ | |
/** | |
* Character start marker attribute. An integer value indicating where a text | |
* marker starts. This attribute is zero-relative and inclusive. | |
* | |
* @see #getAttribute | |
*/ | |
public static final String CHAR_START = "charStart"; | |
/** | |
* Character end marker attribute. An integer value indicating where a text | |
* marker ends. This attribute is zero-relative and exclusive. | |
* | |
* @see #getAttribute | |
*/ | |
public static final String CHAR_END = "charEnd"; | |
/** | |
* Line number marker attribute. An integer value indicating the line number | |
* for a text marker. This attribute is 1-relative. | |
* | |
* @see #getAttribute | |
*/ | |
public static final String LINE_NUMBER = "lineNumber"; | |
/** | |
* Deletes this marker from its associated resource. This method has no | |
* effect if this marker does not exist. | |
* | |
* @exception CoreException if this marker could not be deleted. Reasons include: | |
* <ul> | |
* <li> Resource changes are disallowed during resource change event notification.</li> | |
* </ul> | |
*/ | |
public void delete() throws CoreException; | |
/** | |
* Tests this breakpoint for equality with the given object. | |
* Two breakpoints are equal if their markers have the same id. | |
* Markers are assigned an id when created on a resource. | |
* | |
* @param object the other object | |
* @return an indication of whether the objects are equal | |
*/ | |
public boolean equals(Object object); | |
/** | |
* Returns whether this marker exists in the workspace. A marker | |
* exists if its resource exists and has a marker with the marker's id. | |
* | |
* @return <code>true</code> if this marker exists, otherwise | |
* <code>false</code> | |
*/ | |
public boolean exists(); | |
/** | |
* Enable this breakpoint | |
*/ | |
public void enable() throws CoreException; | |
/** | |
* Disable this breakpoint | |
*/ | |
public void disable() throws CoreException; | |
/** | |
* Returns the marker associated with the breakpoint. | |
* | |
* @return the marker, or <code>null</code> if the marker does not exist. | |
*/ | |
public IMarker getMarker(); | |
/** | |
* Returns the model identifier for this breakpoint. | |
*/ | |
public String getModelIdentifier(); | |
/** | |
* Returns the value of the <code>LINE_NUMBER</code> attribute of the | |
* given breakpoint or -1 if the attribute is not present or | |
* an exception occurs while accessing the attribute. This is a | |
* convenience method for <code>IMarker.getAttribute(String, int)</code>. | |
* | |
* @param breakpoint the breakpoint | |
* @return the breakpoint's line number, or -1 if unknown | |
*/ | |
public int getLineNumber(); | |
/** | |
* Returns the value of the <code>CHAR_START</code> attribute of the | |
* given breakpoint or -1 if the attribute is not present, or | |
* an exception occurs while accessing the attribute. This is a | |
* convenience method for <code>IMarker.getAttribute(String, int)</code> | |
* | |
* @param breakpoint the breakpoint | |
* @return the breakpoint's char start value, or -1 if unknown | |
*/ | |
public int getCharStart(); | |
/** | |
* Returns the value of the <code>CHAR_END</code> attribute of the | |
* given breakpoint or -1 if the attribute is not present or | |
* an exception occurs while accessing the attribute. | |
* This is a convenience method for <code>IMarker.getAttribute(String, int)</code>. | |
* | |
* @param breakpoint the breakpoint | |
* @return the breakpoint's char end value, or -1 if unknown | |
*/ | |
public int getCharEnd(); | |
/** | |
* Returns the id of the marker. The id of a marker is unique | |
* relative to the resource with which the marker is associated. | |
* Marker ids are not globally unique. | |
* | |
* @return the id of the marker | |
* @see IResource#findMarker | |
*/ | |
public long getId(); | |
/** | |
* Returns the resource with which this marker is associated. | |
* | |
* @return the resource with which this marker is associated | |
*/ | |
public IResource getResource(); | |
/** | |
* Returns the type of this breakpoint. | |
* | |
* @return the type of this marker | |
* @exception CoreException if this method fails. Reasons include: | |
* <ul> | |
* <li> This marker does not exist.</li> | |
* </ul> | |
*/ | |
public String getType() throws CoreException; | |
/** | |
* Returns whether this breakpoint is enabled | |
*/ | |
public boolean isEnabled() throws CoreException; | |
/** | |
* Returns whether this breakpoint is disabled | |
*/ | |
public boolean isDisabled() throws CoreException; | |
/** | |
* Sets the enabled state of this breakpoint to the opposite of its | |
* current state. | |
*/ | |
public void toggleEnabled() throws CoreException; | |
/** | |
* Install a breakpoint request for this breakpoint in the given target. | |
* | |
* @param target the debug target into which the request should be added. | |
*/ | |
public abstract void addToTarget(IDebugTarget target); | |
/** | |
* Update the breakpoint request for this breakpoint in the given target. | |
* | |
* @param target the debug target for which the request should be updated. | |
*/ | |
public abstract void changeForTarget(IDebugTarget target); | |
/** | |
* Remove the breakpoint request for this breakpoint from the given target. | |
* | |
* @param target the debug target from which the request should be removed. | |
*/ | |
public abstract void removeFromTarget(IDebugTarget target); | |
} | |