blob: eb6fe01924d7b9ba4f50a43b06eff63a984632fa [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.debug.core.model;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
/**
* TriggerPoint is a breakpoint property which defines a dependency relationship
* between all the breakpoints of a workspace and trigger points defined in a
* workspace. TriggerPoint defines the availability of breakpoints to be
* suspended based on the order of hits of breakpoints. If there are active
* TriggerPoints, breakpoints can not be suspended.
*
* @since 3.11
*/
public interface ITriggerPoint extends IAdaptable {
/**
* Persisted breakpoint marker attribute (value
* <code>"org.eclipse.debug.core.triggerpoint"</code>). The attribute is a
* <code>boolean</code> corresponding to whether a breakpoint is a trigger
* breakpoint for the workspace.
*
* @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
*
*/
public static final String TRIGGERPOINT = "org.eclipse.debug.core.triggerpoint"; //$NON-NLS-1$
/**
* Returns whether this breakpoint is defined as a trigger point in the
* workspace.
*
* @return whether this breakpoint is a trigger point
* @exception CoreException if unable to access the associated attribute on
* this breakpoint's underlying marker
*/
public boolean isTriggerPoint() throws CoreException;
/**
* Sets whether this breakpoint is to be treated as a trigger point for the
* workspace. If it is a trigger point, then the
* {@link org.eclipse.debug.core.model.ITriggerPoint} attribute on this
* breakpoint's marker is set to <code>true</code>.
*
* @param trigger whether this breakpoint is to be treated as trigger point
* for the workspace
* @exception CoreException if unable to set the associated attribute on
* this breakpoint's underlying marker.
*/
public void setTriggerPoint(boolean trigger) throws CoreException;
}