blob: 71f776657d9d74aa00b7c67e223fda1ffb180a35 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.debug.core;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.model.IDebugTarget;
/**
* A method breakpoint suspends execution when a
* method is entered or exited.
* <p>
* Clients are not intended to implement this interface.
* </p>
* @since 2.0
*/
public interface IJavaMethodBreakpoint extends IJavaLineBreakpoint {
/**
* Returns the name of the method(s) this breakpoint suspends
* execution in, or <code>null</code> if this breakpoint does
* not suspend execution based on method name.
*
* @return the name of the method(s) this breakpoint suspends
* execution in, or <code>null</code> if this breakpoint does
* not suspend execution based on method name
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public String getMethodName() throws CoreException;
/**
* Returns the signature of the method(s) this breakpoint suspends
* execution in, or <code>null</code> if this breakpoint does not
* suspend exectution based on method signature.
*
* @return the signature of the method(s) this breakpoint suspends
* execution in, or <code>null</code> if this breakpoint does not
* suspend exectution based on method signature
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public String getMethodSignature() throws CoreException;
/**
* Returns the pattern specifying the fully qualified name of type(s)
* this breakpoint suspends execution in. Patterns are limited to exact
* matches and patterns that begin or end with '*'.
*
* @return the pattern specifying the fully qualified name of type(s)
* this breakpoint suspends execution in
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
* @see IJavaBreakpoint#getTypeName()
*/
public String getTypeName() throws CoreException;
/**
* Returns whether this breakpoint causes execution to suspend
* on entry to methods.
*
* @return whether this breakpoint causes execution to suspend
* on entry to methods
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public boolean isEntry() throws CoreException;
/**
* Returns whether this breakpoint causes execution to suspend
* on exit of methods.
*
* @return whether this breakpoint causes execution to suspend
* on exit of methods
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public boolean isExit() throws CoreException;
/**
* Sets whether this breakpoint causes execution to suspend
* on entry to methods.
*
* @param entry whether this breakpoint causes execution to suspend
* on entry to methods
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
*/
public void setEntry(boolean entry) throws CoreException;
/**
* Sets whether this breakpoint causes execution to suspend
* on exit of methods.
*
* @param exit whether this breakpoint causes execution to suspend
* on exit of methods
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
*/
public void setExit(boolean exit) throws CoreException;
/**
* Sets whether this breakpoint causes execution to suspend
* only on entry/exit of native methods.
*
* @param nativeOnly whether this breakpoint causes execution to suspend
* only on entry/exit of native methods
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
*/
public void setNativeOnly(boolean nativeOnly) throws CoreException;
/**
* Returns whether this breakpoint causes execution to suspend
* only on entry/exit of native methods.
*
* @return whether this breakpoint causes execution to suspend
* only on entry/exit of native methods
* @exception CoreException if unable to access the property
* on this breakpoint's underlying marker
*/
public boolean isNativeOnly() throws CoreException;
/**
* Returns whether this breakpoint last suspended in the given
* target due to a method entry (<code>true</code>) or exit
* (<code>false</code>).
*
* @return <code>true</code> if this breakpoint last suspended the given
* target due to a method entry; <code>false</code> if this breakpoint last
* suspended in the given target due to a method exit or if this
* breakpoint hasn't suspended the given target.
*/
public boolean isEntrySuspend(IDebugTarget target);
}