1 /*******************************************************************************
2 * Copyright (c) 2000, 2006 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11 package net.sourceforge.phpeclipse.xdebug.php.model;
14 import org.eclipse.core.runtime.CoreException;
15 import org.eclipse.debug.core.model.IBreakpoint;
18 * A breakpoint specific to the Java debug model. A Java breakpoint
21 * <li>a hit count</li>
22 * <li>a suspend policy that determines if the entire VM or
23 * a single thread is suspended when hit</li>
24 * <li>a thread filter to restrict a breakpoint to a specific
25 * thread within a VM</li>
26 * <li>an installed property that indicates a breakpoint was successfully
27 * installed in a VM</li>
30 * Clients are not intended to implement this interface
34 public interface IXDebugBreakpoint extends IBreakpoint {
37 * Returns whether this breakpoint is installed in at least
40 * @return whether this breakpoint is installed
41 * @exception CoreException if unable to access the property
42 * on this breakpoint's underlying marker
44 public boolean isInstalled() throws CoreException;
46 * Returns the fully qualified name of the type this breakpoint
47 * is located in, or <code>null</code> if this breakpoint
48 * is not located in a specific type - for example, a pattern breakpoint.
50 * @return the fully qualified name of the type this breakpoint
51 * is located in, or <code>null</code>
52 * @exception CoreException if unable to access the property
53 * from this breakpoint's underlying marker
55 public String getTypeName() throws CoreException;
57 * Returns this breakpoint's hit count or, -1 if this
58 * breakpoint does not have a hit count.
60 * @return this breakpoint's hit count, or -1
61 * @exception CoreException if unable to access the property
62 * from this breakpoint's underlying marker
64 public int getHitCount() throws CoreException;
66 * Sets the hit count attribute of this breakpoint.
67 * If this breakpoint is currently disabled and the hit count
68 * is set greater than -1, this breakpoint is automatically enabled.
70 * @param count the new hit count
71 * @exception CoreException if unable to set the property
72 * on this breakpoint's underlying marker
74 public void setHitCount(int count) throws CoreException;
77 * Adds the given object to the list of objects in which this
78 * breakpoint is restricted to suspend execution. Has no effect
79 * if the object has already been added. Note that clients should
80 * first ensure that a breakpoint supports instance filters.
82 * Note: This implementation will add more than one filter. However, if there is
83 * more than one instance filter for a debug target, the breakpoint will never be hit
84 * in that target, as the current context cannot be two different instances at the
88 * @param object instance filter to add
89 * @exception CoreException if unable to add the given instance filter
92 //public void addInstanceFilter(/*IJava*/Object object) throws CoreException;
95 * Removes the given object from the list of objects in which this
96 * breakpoint is restricted to suspend execution. Has no effect if the
97 * object has not yet been added as an instance filter.
99 * @param object instance filter to remove
100 * @exception CoreException if unable to remove the given instance filter
103 //public void removeInstanceFilter(/*IJava*/Object object) throws CoreException;
106 * Returns whether this breakpoints supports instance filters.
108 * @return whether this breakpoints supports instance filters
111 //public boolean supportsInstanceFilters();
114 * Returns the current set of active instance filters.
116 * @return the current set of active instance filters.
117 * @exception CoreException if unable to retrieve the list
120 //public IJavaObject[] getInstanceFilters() throws CoreException;