/** * Return true if any Resource in the list of * * @resources is referenced by me. */ protected boolean hasResourceReference(List tResources) { for (int i = 0; i < tResources.size(); i++) { if (hasResourceReference((Resource) tResources.get(i))) return true; } return false; }
/** * Remove my reference to aResource and remove it from the ResourceSet. Return true if aResource * was removed. */ protected boolean primFlushResource(Resource aResource) { if (aResource != null && hasResourceReference(aResource)) { removeResource(aResource); removeResourceSetResource(aResource); return true; } return false; }
/** * Save only resources that need to be saved (i.e., no other references). */ public void resourceChanged(EditModelEvent anEvent) { int code = anEvent.getEventCode(); switch (code) { case EditModelEvent.REMOVED_RESOURCE : { if (!isReverting && hasResourceReference(anEvent.getChangedResources())) removeResources(anEvent.getChangedResources()); else return; break; } case EditModelEvent.ADDED_RESOURCE : if (!processResourcesIfInterrested(anEvent.getChangedResources())) return; } if (hasListeners()) { anEvent.setEditModel(this); notifyListeners(anEvent); } }