@Override protected void removeAdapter(Notifier notifier) { if (notifier instanceof CDOObject) { CDOObject o = (CDOObject) notifier; if (!o.cdoInvalid()) super.removeAdapter(notifier); } }
/** * Handles undoing the installation of the adapter from a Resource * by removing the adapter from each of the directly contained objects. */ protected void unsetTarget(Resource target) { basicUnsetTarget(target); List<EObject> contents = target.getContents(); for (int i = 0, size = contents.size(); i < size; ++i) { Notifier notifier = contents.get(i); removeAdapter(notifier, true, false); } }
/** * Handles undoing the installation of the adapter from a Resource * by removing the adapter from each of the directly contained objects. */ protected void unsetTarget(Resource target) { basicUnsetTarget(target); List<EObject> contents = target.getContents(); for (int i = 0, size = contents.size(); i < size; ++i) { Notifier notifier = contents.get(i); removeAdapter(notifier, true, false); } }
/** * Handles undoing the installation of the adapter from a ResourceSet * by removing the adapter from each of the directly contained objects. */ protected void unsetTarget(ResourceSet target) { basicUnsetTarget(target); List<Resource> resources = target.getResources(); for (int i = 0; i < resources.size(); ++i) { Notifier notifier = resources.get(i); removeAdapter(notifier, false, false); } }
/** * Handles undoing the installation of the adapter from a ResourceSet * by removing the adapter from each of the directly contained objects. */ protected void unsetTarget(ResourceSet target) { basicUnsetTarget(target); List<Resource> resources = target.getResources(); for (int i = 0; i < resources.size(); ++i) { Notifier notifier = resources.get(i); removeAdapter(notifier, false, false); } }
/** * Handles undoing the installation of the adapter from an EObject * by removing the adapter from each of the directly contained objects. */ protected void unsetTarget(EObject target) { basicUnsetTarget(target); for (Iterator<? extends Notifier> i = resolve() ? target.eContents().iterator() : ((InternalEList<EObject>)target.eContents()).basicIterator(); i.hasNext(); ) { Notifier notifier = i.next(); removeAdapter(notifier, false, true); } }
/** * Handles undoing the installation of the adapter from an EObject * by removing the adapter from each of the directly contained objects. */ protected void unsetTarget(EObject target) { basicUnsetTarget(target); if (useRecursion()) { for (Iterator<? extends Notifier> i = resolve() ? target.eContents().iterator() : ((InternalEList<EObject>)target.eContents()).basicIterator(); i.hasNext(); ) { Notifier notifier = i.next(); removeAdapter(notifier, false, true); } } else if (!iterating) { iterating = true; for (TreeIterator<EObject> i = EcoreUtil.getAllContents(target, resolve()); i.hasNext(); ) { EObject eObject = i.next(); removeAdapter(eObject, false, true); } iterating = false; } }
protected void removeAdapter(Notifier notifier, boolean checkContainer, boolean checkResource) { if (checkContainer || checkResource) { InternalEObject internalEObject = (InternalEObject) notifier; if (checkResource) { Resource eDirectResource = internalEObject.eDirectResource(); if (eDirectResource != null && eDirectResource.eAdapters().contains(this)) { return; } } if (checkContainer) { InternalEObject eInternalContainer = internalEObject.eInternalContainer(); if (eInternalContainer != null && eInternalContainer.eAdapters().contains(this)) { return; } } } removeAdapter(notifier); }
protected void removeAdapter(Notifier notifier, boolean checkContainer, boolean checkResource) { if (checkContainer || checkResource) { InternalEObject internalEObject = (InternalEObject) notifier; if (checkResource) { Resource eDirectResource = internalEObject.eDirectResource(); if (eDirectResource != null && eDirectResource.eAdapters().contains(this)) { return; } } if (checkContainer) { InternalEObject eInternalContainer = internalEObject.eInternalContainer(); if (eInternalContainer != null && eInternalContainer.eAdapters().contains(this)) { return; } } } removeAdapter(notifier); }
if (oldValue.eAdapters().contains(this)) removeAdapter(oldValue); Notifier newValue = (Notifier)notification.getNewValue(); addAdapter(newValue); removeAdapter((Notifier)oldValue, false, true); if (oldValue != null) removeAdapter(oldValue, false, true); removeAdapter(oldValue, checkContainer, checkResource); for ( Notifier oldContentValue : oldValues) removeAdapter(oldContentValue, checkContainer, checkResource);
if (oldValue.eAdapters().contains(this)) removeAdapter(oldValue); Notifier newValue = (Notifier)notification.getNewValue(); addAdapter(newValue); removeAdapter((Notifier)oldValue, false, true); if (oldValue != null) removeAdapter(oldValue, false, true); removeAdapter(oldValue, checkContainer, checkResource); for ( Notifier oldContentValue : oldValues) removeAdapter(oldContentValue, checkContainer, checkResource);