1 11 package org.eclipse.debug.internal.ui.views.breakpoints; 12 13 import java.util.HashMap ; 14 import java.util.Map ; 15 16 import org.eclipse.core.runtime.IAdaptable; 17 import org.eclipse.debug.core.DebugPlugin; 18 import org.eclipse.debug.core.model.IBreakpoint; 19 import org.eclipse.debug.ui.AbstractBreakpointOrganizerDelegate; 20 import org.eclipse.debug.ui.BreakpointTypeCategory; 21 import org.eclipse.debug.ui.IBreakpointTypeCategory; 22 23 28 public class BreakpointTypeOrganizer extends AbstractBreakpointOrganizerDelegate { 29 30 private Map fTypes = new HashMap (); 31 32 35 public IAdaptable[] getCategories(IBreakpoint breakpoint) { 36 IBreakpointTypeCategory category = (IBreakpointTypeCategory) breakpoint.getAdapter(IBreakpointTypeCategory.class); 37 if (category != null) { 38 return new IAdaptable[]{category}; 39 } 40 String name = DebugPlugin.getDefault().getBreakpointManager().getTypeName(breakpoint); 41 if (name != null) { 42 IAdaptable[] categories = (IAdaptable[]) fTypes.get(name); 43 if (categories == null) { 44 categories = new IAdaptable[]{new BreakpointTypeCategory(name)}; 45 fTypes.put(name, categories); 46 } 47 return categories; 48 } 49 return null; 50 } 51 52 55 public void dispose() { 56 fTypes.clear(); 57 } 58 59 } 60 | Popular Tags |