@Override public void addChild(Location parent, Location newChild) { if (this.manager != null) { parent.getChildLocations().add(newChild); newChild.setParentLocation(parent); manager.persistLocation(newChild); } }
@Override public boolean removeChild(Location child) { if (child.getParentLocation() != null && manager != null) { child.getParentLocation().getChildLocations().remove(child); child.setParentLocation(null); manager.cascadeDeleteLocation(child.getId()); return true; } return false; }
@Override public boolean hasChildren(Location item) { return item.getChildLocations().size() > 0; }
@Override public List<Location> getChildren(Location item) { return new ArrayList<Location>(item.getChildLocations()); }
@Override public Location getParent(Location item) { return item.getParentLocation(); }