diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java index 389ddece8d..a4f0625986 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java @@ -43,6 +43,8 @@ public class WrappedHibernateList implements InternalCDOList { private List<Object> delegate; + private boolean frozen; + public WrappedHibernateList() { } @@ -463,4 +465,22 @@ public class WrappedHibernateList implements InternalCDOList delegate.set(HibernateUtil.getInstance().getCDOID(o)); } } + + public void freeze() + { + frozen = true; + } + + private void checkFrozen() + { + if (frozen) + { + throw new IllegalStateException("Cannot modify a frozen list"); + } + } + + public void setWithoutFrozenCheck(int i, Object value) + { + getDelegate().set(i, value); + } } |