Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/BreakpointListenerManager.java')
-rw-r--r--org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/BreakpointListenerManager.java153
1 files changed, 104 insertions, 49 deletions
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/BreakpointListenerManager.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/BreakpointListenerManager.java
index 5c16e4699..41ec23895 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/BreakpointListenerManager.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/BreakpointListenerManager.java
@@ -42,57 +42,65 @@ public class BreakpointListenerManager {
/**
* Map java breakpoint listeners by id
*/
- private static Map fgJavaBreakpointListenersMap;
-
+ private static Map<String, JavaBreakpointListenerProxy> fgJavaBreakpointListenersMap;
+
/**
* Global listeners
*/
private static IJavaBreakpointListener[] fgGlobalListeners;
-
+
private static final String VALUE_GLOBAL = "*"; //$NON-NLS-1$
private static final String ATTR_ID = "id"; //$NON-NLS-1$
private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
private static final String ATTR_FILTER = "filter"; //$NON-NLS-1$
-
+
/**
* Proxy to a breakpoint listener
*/
- private class JavaBreakpointListenerProxy implements IJavaBreakpointListener {
+ private class JavaBreakpointListenerProxy implements
+ IJavaBreakpointListener {
private IConfigurationElement fConfigElement;
private IJavaBreakpointListener fDelegate;
-
+
public JavaBreakpointListenerProxy(IConfigurationElement element) {
fConfigElement = element;
}
-
+
/**
* Returns the underlying delegate or <code>null</code> if none/error
*
* @return breakpoint listener extension
*/
private synchronized IJavaBreakpointListener getDelegate() {
- if (fDelegate == null) {
+ if (fDelegate == null) {
try {
- fDelegate = (IJavaBreakpointListener) fConfigElement.createExecutableExtension(ATTR_CLASS);
+ fDelegate = (IJavaBreakpointListener) fConfigElement
+ .createExecutableExtension(ATTR_CLASS);
} catch (CoreException e) {
JDIDebugPlugin.log(e);
}
}
-
- return fDelegate;
+
+ return fDelegate;
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#addingBreakpoint(org.eclipse.jdt.debug.core.IJavaDebugTarget, org.eclipse.jdt.debug.core.IJavaBreakpoint)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jdt.debug.core.IJavaBreakpointListener#addingBreakpoint
+ * (org.eclipse.jdt.debug.core.IJavaDebugTarget,
+ * org.eclipse.jdt.debug.core.IJavaBreakpoint)
*/
- public void addingBreakpoint(IJavaDebugTarget target, IJavaBreakpoint breakpoint) {
+ public void addingBreakpoint(IJavaDebugTarget target,
+ IJavaBreakpoint breakpoint) {
IJavaBreakpointListener delegate = getDelegate();
if (delegate != null) {
delegate.addingBreakpoint(target, breakpoint);
}
}
-
+
/**
* Whether this listener is for all breakpoints.
*
@@ -106,28 +114,45 @@ public class BreakpointListenerManager {
return false;
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointHasCompilationErrors(org.eclipse.jdt.debug.core.IJavaLineBreakpoint, org.eclipse.jdt.core.dom.Message[])
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#
+ * breakpointHasCompilationErrors
+ * (org.eclipse.jdt.debug.core.IJavaLineBreakpoint,
+ * org.eclipse.jdt.core.dom.Message[])
*/
- public void breakpointHasCompilationErrors(IJavaLineBreakpoint breakpoint, Message[] errors) {
+ public void breakpointHasCompilationErrors(
+ IJavaLineBreakpoint breakpoint, Message[] errors) {
IJavaBreakpointListener delegate = getDelegate();
if (delegate != null) {
delegate.breakpointHasCompilationErrors(breakpoint, errors);
}
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointHasRuntimeException(org.eclipse.jdt.debug.core.IJavaLineBreakpoint, org.eclipse.debug.core.DebugException)
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#
+ * breakpointHasRuntimeException
+ * (org.eclipse.jdt.debug.core.IJavaLineBreakpoint,
+ * org.eclipse.debug.core.DebugException)
*/
- public void breakpointHasRuntimeException(IJavaLineBreakpoint breakpoint, DebugException exception) {
+ public void breakpointHasRuntimeException(
+ IJavaLineBreakpoint breakpoint, DebugException exception) {
IJavaBreakpointListener delegate = getDelegate();
if (delegate != null) {
delegate.breakpointHasRuntimeException(breakpoint, exception);
}
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointHit(org.eclipse.jdt.debug.core.IJavaThread, org.eclipse.jdt.debug.core.IJavaBreakpoint)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointHit(
+ * org.eclipse.jdt.debug.core.IJavaThread,
+ * org.eclipse.jdt.debug.core.IJavaBreakpoint)
*/
public int breakpointHit(IJavaThread thread, IJavaBreakpoint breakpoint) {
IJavaBreakpointListener delegate = getDelegate();
@@ -137,54 +162,82 @@ public class BreakpointListenerManager {
return IJavaBreakpointListener.DONT_CARE;
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointInstalled(org.eclipse.jdt.debug.core.IJavaDebugTarget, org.eclipse.jdt.debug.core.IJavaBreakpoint)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointInstalled
+ * (org.eclipse.jdt.debug.core.IJavaDebugTarget,
+ * org.eclipse.jdt.debug.core.IJavaBreakpoint)
*/
- public void breakpointInstalled(IJavaDebugTarget target, IJavaBreakpoint breakpoint) {
+ public void breakpointInstalled(IJavaDebugTarget target,
+ IJavaBreakpoint breakpoint) {
IJavaBreakpointListener delegate = getDelegate();
if (delegate != null) {
delegate.breakpointInstalled(target, breakpoint);
}
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointRemoved(org.eclipse.jdt.debug.core.IJavaDebugTarget, org.eclipse.jdt.debug.core.IJavaBreakpoint)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jdt.debug.core.IJavaBreakpointListener#breakpointRemoved
+ * (org.eclipse.jdt.debug.core.IJavaDebugTarget,
+ * org.eclipse.jdt.debug.core.IJavaBreakpoint)
*/
- public void breakpointRemoved(IJavaDebugTarget target, IJavaBreakpoint breakpoint) {
+ public void breakpointRemoved(IJavaDebugTarget target,
+ IJavaBreakpoint breakpoint) {
IJavaBreakpointListener delegate = getDelegate();
if (delegate != null) {
delegate.breakpointRemoved(target, breakpoint);
}
}
- /* (non-Javadoc)
- * @see org.eclipse.jdt.debug.core.IJavaBreakpointListener#installingBreakpoint(org.eclipse.jdt.debug.core.IJavaDebugTarget, org.eclipse.jdt.debug.core.IJavaBreakpoint, org.eclipse.jdt.debug.core.IJavaType)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jdt.debug.core.IJavaBreakpointListener#installingBreakpoint
+ * (org.eclipse.jdt.debug.core.IJavaDebugTarget,
+ * org.eclipse.jdt.debug.core.IJavaBreakpoint,
+ * org.eclipse.jdt.debug.core.IJavaType)
*/
- public int installingBreakpoint(IJavaDebugTarget target, IJavaBreakpoint breakpoint, IJavaType type) {
+ public int installingBreakpoint(IJavaDebugTarget target,
+ IJavaBreakpoint breakpoint, IJavaType type) {
IJavaBreakpointListener delegate = getDelegate();
if (delegate != null) {
return delegate.installingBreakpoint(target, breakpoint, type);
}
return IJavaBreakpointListener.DONT_CARE;
}
-
+
}
-
+
/**
* Load extensions.
*/
private synchronized void init() {
if (fgJavaBreakpointListenersMap == null) {
- fgJavaBreakpointListenersMap = new HashMap();
- List global = new ArrayList();
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(JDIDebugPlugin.getUniqueIdentifier(), JDIDebugPlugin.EXTENSION_POINT_JAVA_BREAKPOINT_LISTENERS);
- IConfigurationElement[] actionDelegateElements= extensionPoint.getConfigurationElements();
- for (int i= 0; i < actionDelegateElements.length; i++) {
+ fgJavaBreakpointListenersMap = new HashMap<String, JavaBreakpointListenerProxy>();
+ List<JavaBreakpointListenerProxy> global = new ArrayList<JavaBreakpointListenerProxy>();
+ IExtensionPoint extensionPoint = Platform
+ .getExtensionRegistry()
+ .getExtensionPoint(
+ JDIDebugPlugin.getUniqueIdentifier(),
+ JDIDebugPlugin.EXTENSION_POINT_JAVA_BREAKPOINT_LISTENERS);
+ IConfigurationElement[] actionDelegateElements = extensionPoint
+ .getConfigurationElements();
+ for (IConfigurationElement actionDelegateElement : actionDelegateElements) {
try {
- String id = actionDelegateElements[i].getAttribute(ATTR_ID);
+ String id = actionDelegateElement.getAttribute(ATTR_ID);
if (id == null)
- throw new CoreException(new Status(IStatus.ERROR, JDIDebugPlugin.getUniqueIdentifier(), "Java breakpoint listener requires an identifier attribute.")); //$NON-NLS-1$
- JavaBreakpointListenerProxy listener = new JavaBreakpointListenerProxy(actionDelegateElements[i]);
+ throw new CoreException(
+ new Status(IStatus.ERROR, JDIDebugPlugin
+ .getUniqueIdentifier(),
+ "Java breakpoint listener requires an identifier attribute.")); //$NON-NLS-1$
+ JavaBreakpointListenerProxy listener = new JavaBreakpointListenerProxy(
+ actionDelegateElement);
fgJavaBreakpointListenersMap.put(id, listener);
if (listener.isGlobal()) {
global.add(listener);
@@ -193,25 +246,27 @@ public class BreakpointListenerManager {
JDIDebugPlugin.log(e);
}
}
- fgGlobalListeners = (IJavaBreakpointListener[]) global.toArray(new IJavaBreakpointListener[global.size()]);
+ fgGlobalListeners = global
+ .toArray(new IJavaBreakpointListener[global.size()]);
}
}
/**
- * Returns the listener registered with the given identifier or <code>null</code>
- * if none.
+ * Returns the listener registered with the given identifier or
+ * <code>null</code> if none.
*
- * @param id extension identifier
+ * @param id
+ * extension identifier
* @return breakpoint listener or <code>null</code>
*/
public IJavaBreakpointListener getBreakpointListener(String id) {
init();
- return (IJavaBreakpointListener)fgJavaBreakpointListenersMap.get(id);
+ return fgJavaBreakpointListenersMap.get(id);
}
/**
- * Returns breakpoint listener extensions registered to listen for changes to
- * all breakpoints.
+ * Returns breakpoint listener extensions registered to listen for changes
+ * to all breakpoints.
*
* @return global listeners
*/

Back to the top