This document describes important changes in the 3.0 JDT debugger, relative to the 2.1 release.
Two methods on the IJavaBreakpointListener
interface have changed
return values from boolean to int. In releases prior to 3.0, listeners could
only vote "suspend" or "don't suspend" when a breakpoint was hit, and "install"
or "don't install" when a breakpoint was about to be installed. In 3.0, listeners
can also vote "don't care" for either of these notifications. This allows clients
to only make a decisive vote in situations that they care about. For "breakpoint
hit" notifications, the breakpoint will suspend if any listeners vote to suspend
or if all listeners vote "don't care". Similarly, for "breakpoint installing"
notifications, the breakpoint will be installed if any listeners vote to install,
or all listeners vote "don't care". In general, implementors should
return DONT_CARE unless they have a strong opinion one way or the other. It
is important to keep in mind, for example, that voting "suspend" will override
any other listener's vote of "don't suspend".
The affected methods are breakpointHit(IJavaBreakpoint, IJavaThread)
and installingBreakpoing(IJavaTarget, IJavaBreakpoint, IJavaType)
.