Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common/src/org/eclipse')
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDRevisionDeltaLockWrapper.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java3
2 files changed, 67 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDRevisionDeltaLockWrapper.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDRevisionDeltaLockWrapper.java
new file mode 100644
index 0000000000..45d1daf163
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDRevisionDeltaLockWrapper.java
@@ -0,0 +1,64 @@
+package org.eclipse.emf.cdo.internal.common.id;
+
+import org.eclipse.emf.cdo.common.branch.CDOBranch;
+import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.id.CDOIDAndBranch;
+import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta;
+
+/**
+ * @author Martin Fluegge
+ */
+public class CDOIDRevisionDeltaLockWrapper implements CDOIDAndBranch
+{
+ private Object key;
+
+ private InternalCDORevisionDelta delta;
+
+ public CDOIDRevisionDeltaLockWrapper(Object key, InternalCDORevisionDelta delta)
+ {
+ this.key = key;
+ this.delta = delta;
+ }
+
+ public void setKey(Object key)
+ {
+ this.key = key;
+ }
+
+ public Object getKey()
+ {
+ return key;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return key.equals(obj);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return key.hashCode();
+ }
+
+ public void setDelta(InternalCDORevisionDelta delta)
+ {
+ this.delta = delta;
+ }
+
+ public InternalCDORevisionDelta getDelta()
+ {
+ return delta;
+ }
+
+ public CDOID getID()
+ {
+ return key instanceof CDOIDAndBranch ? ((CDOIDAndBranch)key).getID() : (CDOID)key;
+ }
+
+ public CDOBranch getBranch()
+ {
+ return key instanceof CDOIDAndBranch ? ((CDOIDAndBranch)key).getBranch() : null;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java
index f0e3326ccd..c3079405be 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java
@@ -81,6 +81,9 @@ public abstract class BaseCDORevision extends AbstractCDORevision
private CDOID resourceID;
+ /**
+ * On a client, between a local modification and the commit the value of this <i>ID</i> can be an EObject.
+ */
private Object containerID;
private int containingFeatureID;

Back to the top