blob: 4ae501c8d256afaea685e70189f150033b4fb03d [file] [log] [blame]
package org.eclipse.jdt.debug.core;
/**********************************************************************
Copyright (c) 2000, 2002 IBM Corp. All rights reserved.
This file is 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
**********************************************************************/
import org.eclipse.core.runtime.CoreException;
/**
* A breakpoint that suspends execution when a corresponding exception
* is thrown in a target VM. An exception breakpoint can be configured
* to suspend execution when the corresponding exception is thrown in
* a caught or uncaught location. As well, the location can be filtered
* inclusively or exclusively by type name patterns.
* <p>
* Clients are not intended to implement this interface.
* </p>
* @since 2.0
*/
public interface IJavaExceptionBreakpoint extends IJavaBreakpoint {
/**
* Sets the inclusion filters that will define the scope for the associated exception.
* Filters are a collection of strings of type name prefixes.
* Default packages should be specified as the empty string.
*
* @param filters the array of filters to apply
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
* @since 2.1
*/
public void setInclusionFilters(String[] filters) throws CoreException;
/**
* Returns the inclusive filters that define the scope for the associated exception.
* Filters are a collection of strings of type name prefixes.
*
* @return the array of defined inclusive filters
* @exception CoreException if unable to access the property on
* this breakpoint's underlying marker
* @since 2.1
*/
public String[] getInclusionFilters() throws CoreException;
/**
* Returns whether this breakpoint suspends execution when the
* associated exception is thrown in a caught location (i.e. in
* a try/catch statement).
*
* @return <code>true</code> if this is a caught exception
* breakpoint
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public boolean isCaught() throws CoreException;
/**
* Returns whether this breakpoint suspends execution when the
* associated exception is thrown in an uncaught location (i.e. not
* caught by a try/catch statement).
*
* @return <code>true</code> if this is an uncaught exception
* breakpoint.
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public boolean isUncaught() throws CoreException;
/**
* Sets whether this breakpoint suspends execution when the associated
* exception is thrown in a caught location (i.e. in a try/catch
* statement).
*
* @param caught whether or not this breakpoint suspends execution when the
* associated exception is thrown in a caught location
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
*/
public void setCaught(boolean caught) throws CoreException;
/**
* Sets whether this breakpoint suspends execution when the associated
* exception is thrown in an uncaught location.
*
* @param uncaught whether or not this breakpoint suspends execution when the
* associated exception is thrown in an uncaught location
* @exception CoreException if unable to set the property
* on this breakpoint's underlying marker
*/
public void setUncaught(boolean uncaught) throws CoreException;
/**
* Returns whether the exception associated with this breakpoint is a
* checked exception (i.e. compiler detected, not a runtime exception)
*
* @return <code>true</code> if the exception associated with this breakpoint
* is a checked exception
* @exception CoreException if unable to access the property from
* this breakpoint's underlying marker
*/
public boolean isChecked() throws CoreException;
/**
* Returns the fully qualified type name of the exception that
* last caused this breakpoint to suspend, of <code>null</code>
* if this breakpoint has not caused a thread to suspend. Note
* that this name may be a subtype of the exception that this
* breakpoint is associated with.
*
* @return fully qualified exception name or <code>null</code>
*/
public String getExceptionTypeName();
/**
* Sets the filters that will define the scope for the associated exception.
* Filters are a collection of strings of type name prefixes.
* Default packages should be specified as the empty string.
*
* @param filters the array of filters to apply
* @param inclusive whether or not to apply the filters as inclusive or exclusive
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
* @deprecated Exception breakpoints can have a mixed set of filters. Use setInclusiveFilters(String[] filters) or setExclusiveFilters(String[] filters)
*/
public void setFilters(String[] filters, boolean inclusive) throws CoreException;
/**
* Sets the exclusion filters that will define the scope for the associated exception.
* Filters are a collection of strings of type name prefixes.
* Default packages should be specified as the empty string.
*
* @param filters the array of filters to apply
* @exception CoreException if unable to set the property on
* this breakpoint's underlying marker
* @since 2.1
*/
public void setExclusionFilters(String[] filters) throws CoreException;
/**
* Returns the filters that define the scope for the associated exception.
* Filters are a collection of strings of type name prefixes.
*
* @return the array of defined filters
* @exception CoreException if unable to access the property on
* this breakpoint's underlying marker
* @deprecated Use getExclusionFilters() or getInclusionFilters()
*/
public String[] getFilters() throws CoreException;
/**
* Returns the exclusive filters that define the scope for the associated exception.
* Filters are a collection of strings of type name prefixes.
*
* @return the array of defined inclusive filters
* @exception CoreException if unable to access the property on
* this breakpoint's underlying marker
* @since 2.1
*/
public String[] getExclusionFilters() throws CoreException;
/**
* Returns whether any inclusive filters have been applied
* @return <code>true<code> if the inclusive filters have been applied
* @exception CoreException if unable to access the property on
* this breakpoint's underlying marker
* @deprecated Exception breakpoints can have a mixed set of filters
* and this method is maintained strictly for API backwards compatibility
*/
public boolean isInclusiveFiltered() throws CoreException;
}