public void delete() { while (!subNetwork.isEmpty()) { subNetwork.get(0).setCanalNetwork(null); } while (!activeVessels.isEmpty()) { activeVessels.get(0).setCanalNetwork(null); } ArrayList<SegEnd> copyOfSegEnds = new ArrayList<SegEnd>(segEnds); segEnds.clear(); for (SegEnd aSegEnd : copyOfSegEnds) { aSegEnd.removeCanalNetwork(this); } if (canalNetwork != null) { CanalNetwork placeholderCanalNetwork = canalNetwork; this.canalNetwork = null; placeholderCanalNetwork.removeSubNetwork(this); } }
public boolean removeSegEnd(SegEnd aSegEnd) { boolean wasRemoved = false; if (!segEnds.contains(aSegEnd)) { return wasRemoved; } int oldIndex = segEnds.indexOf(aSegEnd); segEnds.remove(oldIndex); if (aSegEnd.indexOfCanalNetwork(this) == -1) { wasRemoved = true; } else { wasRemoved = aSegEnd.removeCanalNetwork(this); if (!wasRemoved) { segEnds.add(oldIndex, aSegEnd); } } return wasRemoved; }