diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java index 0b9dfadc51..64258e28b0 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateRawCommitContext.java @@ -36,6 +36,7 @@ import org.eclipse.emf.ecore.EClass; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -60,6 +61,8 @@ public class HibernateRawCommitContext implements InternalCommitContext private boolean usingEtypes; + private Map<Object, Object> data; + public CDORevision getRevision(CDOID id) { for (CDORevision cdoRevision : newObjects) @@ -341,4 +344,29 @@ public class HibernateRawCommitContext implements InternalCommitContext { return null; } + + public <T> T getData(Object key) + { + if (data == null) + { + return null; + } + + @SuppressWarnings("unchecked") + T result = (T)data.get(key); + return result; + } + + public synchronized <T extends Object> T setData(Object key, T value) + { + if (data == null) + { + data = new HashMap<Object, Object>(); + } + + @SuppressWarnings("unchecked") + T old = (T)data.put(key, value); + return old; + } + } |