@NotNull public synchronized List<Breakpoint> getBreakpoints() { if (myBreakpointsListForIteration == null) { myBreakpointsListForIteration = new ArrayList<Breakpoint>(myBreakpoints.size()); XBreakpoint<?>[] xBreakpoints = ApplicationManager.getApplication() .runReadAction( new Computable<XBreakpoint<?>[]>() { public XBreakpoint<?>[] compute() { return getXBreakpointManager().getAllBreakpoints(); } }); for (XBreakpoint<?> xBreakpoint : xBreakpoints) { if (isJavaType(xBreakpoint)) { Breakpoint breakpoint = myBreakpoints.get(xBreakpoint); if (breakpoint == null) { breakpoint = createJavaBreakpoint(xBreakpoint); myBreakpoints.put(xBreakpoint, breakpoint); } } } myBreakpointsListForIteration.addAll(myBreakpoints.values()); } return myBreakpointsListForIteration; }
@Nullable public Breakpoint findMasterBreakpoint(@NotNull Breakpoint dependentBreakpoint) { XDependentBreakpointManager dependentBreakpointManager = ((XBreakpointManagerImpl) getXBreakpointManager()).getDependentBreakpointManager(); return myBreakpoints.get( dependentBreakpointManager.getMasterBreakpoint(dependentBreakpoint.myXBreakpoint)); }
private Breakpoint createBreakpoint(String category, Element breakpointNode) throws InvalidDataException { XBreakpoint xBreakpoint = null; if (category.equals(LineBreakpoint.CATEGORY.toString())) { xBreakpoint = createXLineBreakpoint(JavaLineBreakpointType.class, breakpointNode); } else if (category.equals(MethodBreakpoint.CATEGORY.toString())) { if (breakpointNode.getAttribute("url") != null) { xBreakpoint = createXLineBreakpoint(JavaMethodBreakpointType.class, breakpointNode); } else { xBreakpoint = createXBreakpoint(JavaWildcardMethodBreakpointType.class, breakpointNode); } } else if (category.equals(FieldBreakpoint.CATEGORY.toString())) { xBreakpoint = createXLineBreakpoint(JavaFieldBreakpointType.class, breakpointNode); } else if (category.equals(ExceptionBreakpoint.CATEGORY.toString())) { xBreakpoint = createXBreakpoint(JavaExceptionBreakpointType.class, breakpointNode); } if (xBreakpoint == null) { throw new IllegalStateException("Unknown breakpoint category " + category); } return myBreakpoints.get(xBreakpoint); }
public String getProperty(String name) { return myUIProperties.get(name); }