public boolean setWards(Ward... newWards) { boolean wasSet = false; ArrayList<Ward> verifiedWards = new ArrayList<Ward>(); for (Ward aWard : newWards) { if (verifiedWards.contains(aWard)) { continue; } verifiedWards.add(aWard); } if (verifiedWards.size() != newWards.length || verifiedWards.size() < minimumNumberOfWards()) { return wasSet; } ArrayList<Ward> oldWards = new ArrayList<Ward>(wards); wards.clear(); for (Ward aNewWard : verifiedWards) { wards.add(aNewWard); if (oldWards.contains(aNewWard)) { oldWards.remove(aNewWard); } else { aNewWard.addEmployee(this); } } for (Ward anOldWard : oldWards) { anOldWard.removeEmployee(this); } wasSet = true; return wasSet; }
public boolean addWard(Ward aWard) { boolean wasAdded = false; if (wards.contains(aWard)) { return false; } if (wards.contains(aWard)) { return false; } if (wards.contains(aWard)) { return false; } wards.add(aWard); if (aWard.indexOfEmployee(this) != -1) { wasAdded = true; } else { wasAdded = aWard.addEmployee(this); if (!wasAdded) { wards.remove(aWard); } } return wasAdded; }