diff options
author | Eike Stepper | 2008-12-30 16:41:31 +0000 |
---|---|---|
committer | Eike Stepper | 2008-12-30 16:41:31 +0000 |
commit | 1ed4cd331f30c84dfe22c23a44b92fc74aebea5c (patch) | |
tree | cf75c40daf689dc383575245d3eddd63aa570232 | |
parent | 4a034618a8dbf8539d39e6b82e547877d842c166 (diff) | |
download | cdo-1ed4cd331f30c84dfe22c23a44b92fc74aebea5c.tar.gz cdo-1ed4cd331f30c84dfe22c23a44b92fc74aebea5c.tar.xz cdo-1ed4cd331f30c84dfe22c23a44b92fc74aebea5c.zip |
for discussion
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java | 117 |
1 files changed, 100 insertions, 17 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java index 6dd4a1da1d..d1c4632708 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java @@ -38,6 +38,7 @@ import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.resource.Resource; @@ -59,25 +60,27 @@ import java.util.Map; * <!-- begin-user-doc --> An implementation of the model object '<em><b>CDO Resource</b></em>'. * * @extends Resource.Internal<!-- end-user-doc --> - * <p> - * The following features are implemented: - * <ul> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getResourceSet <em>Resource Set</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getURI <em>URI</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getContents <em>Contents</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#isModified <em>Modified</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#isLoaded <em>Loaded</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#isTrackingModification <em>Tracking Modification</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getErrors <em>Errors</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getWarnings <em>Warnings</em>}</li> - * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getTimeStamp <em>Time Stamp</em>}</li> - * </ul> - * </p> - * + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getResourceSet <em>Resource Set</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getURI <em>URI</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getContents <em>Contents</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#isModified <em>Modified</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#isLoaded <em>Loaded</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#isTrackingModification <em>Tracking + * Modification</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getErrors <em>Errors</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getWarnings <em>Warnings</em>}</li> + * <li>{@link org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl#getTimeStamp <em>Time Stamp</em>}</li> + * </ul> + * </p> * @generated */ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, Resource.Internal { + private static final EReference CDO_RESOURCE_CONTENTS = EresourcePackage.eINSTANCE.getCDOResource_Contents(); + /** * The default URI converter when there is no resource set. * @@ -131,6 +134,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ protected CDOResourceImpl() @@ -140,6 +144,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ @Override @@ -179,6 +184,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public ResourceSet getResourceSet() @@ -188,6 +194,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public void setResourceSet(ResourceSet newResourceSet) @@ -270,6 +277,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public boolean isModified() @@ -353,6 +361,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public boolean isTrackingModification() @@ -362,6 +371,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public void setTrackingModification(boolean newTrackingModification) @@ -443,6 +453,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public long getTimeStamp() @@ -452,6 +463,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, /** * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public void setTimeStamp(long newTimeStamp) @@ -843,14 +855,85 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, @Override protected EList<?> createList(EStructuralFeature eStructuralFeature) { - if (eStructuralFeature == EresourcePackage.eINSTANCE.getCDOResource_Contents()) + if (eStructuralFeature == CDO_RESOURCE_CONTENTS) { - return new ContentsCDOList(eStructuralFeature); + return new ContentsCDOList(CDO_RESOURCE_CONTENTS); + // return new _ContentsCDOList<EObject>(); } return super.createList(eStructuralFeature); } + // /** + // * A notifying list implementation for supporting {@link Resource#getContents}. + // */ + // protected class _ContentsCDOList<E extends Object & EObject> extends ResourceContentsEList<E> + // { + // private static final long serialVersionUID = 1L; + // + // @Override + // public int getFeatureID() + // { + // return CDO_RESOURCE_CONTENTS.getFeatureID(); + // } + // + // @Override + // protected CDOResourceImpl getResource() + // { + // return CDOResourceImpl.this; + // } + // + // @Override + // protected Notification setLoaded(boolean loaded) + // { + // return getResource().setLoaded(loaded); + // } + // + // @Override + // protected boolean isNotificationRequired() + // { + // return getResource().eNotificationRequired(); + // } + // + // @Override + // public NotificationChain inverseAdd(E object, NotificationChain notifications) + // { + // if (FSMUtil.isTransient(getResource())) + // { + // InternalEObject eObject = (InternalEObject)object; + // return eObject.eSetResource(CDOResourceImpl.this, notifications); + // // return super.inverseAdd(object, notifications); + // } + // + // InternalCDOTransaction transaction = cdoView().toTransaction(); + // InternalCDOObject cdoObject = FSMUtil.adapt(object, transaction); + // notifications = cdoObject.eSetResource(getResource(), notifications); + // + // // Attach here instead of in CDOObjectImpl.eSetResource because EMF does it also here + // if (FSMUtil.isTransient(cdoObject)) + // { + // attached(cdoObject, transaction); + // } + // + // return notifications; + // } + // + // @Override + // public NotificationChain inverseRemove(E object, NotificationChain notifications) + // { + // if (FSMUtil.isTransient(getResource())) + // { + // InternalEObject eObject = (InternalEObject)object; + // return eObject.eSetResource(null, notifications); + // // return super.inverseRemove(object, notifications); + // } + // + // InternalEObject eObject = (InternalEObject)object; + // detached(eObject); + // return eObject.eSetResource(null, notifications); + // } + // } + /** * {@link ResourceImpl.ContentsEList}!!! --> Bugzilla! * |