/** * @since 4.1 */ public boolean isUnchunked() { return getDelegate().isUnchunked(); }
/** * @since 3.0 */ public Object resolveElementProxy(CDORevision revision, EStructuralFeature feature, int accessIndex, int serverIndex) { if (!((InternalCDORevision)revision).isUnchunked()) { CDOCollectionLoadingPolicy policy = options().getCollectionLoadingPolicy(); return policy.resolveProxy(revision, feature, accessIndex, serverIndex); } return revision.data().get(feature, accessIndex); }
/** * @since 3.0 */ public Object resolveElementProxy(CDORevision revision, EStructuralFeature feature, int accessIndex, int serverIndex) { if (!((InternalCDORevision)revision).isUnchunked()) { CDOCollectionLoadingPolicy policy = options().getCollectionLoadingPolicy(); return policy.resolveProxy(revision, feature, accessIndex, serverIndex); } return revision.data().get(feature, accessIndex); }
public IStoreAccessor ensureChunk(InternalCDORevision revision, EStructuralFeature feature, int chunkStart, int chunkEnd) { if (!revision.isUnchunked()) { MoveableList<Object> list = revision.getList(feature); chunkEnd = Math.min(chunkEnd, list.size()); IStoreAccessor accessor = StoreThreadLocal.getAccessor(); ensureChunk(revision, feature, accessor, list, chunkStart, chunkEnd); // TODO Expensive: if the revision is unchunked all lists/elements must be visited if (isUnchunked(revision)) { revision.setUnchunked(); } return accessor; } return null; }
/** * @since 4.0 */ public void resolveAllElementProxies(CDORevision revision) { InternalCDORevision internalRevision = (InternalCDORevision)revision; if (!internalRevision.isUnchunked()) { CDOCollectionLoadingPolicy policy = options().getCollectionLoadingPolicy(); for (EReference reference : internalRevision.getClassInfo().getAllPersistentReferences()) { if (reference.isMany()) { CDOList list = internalRevision.getList(reference); for (Iterator<Object> it = list.iterator(); it.hasNext();) { Object element = it.next(); if (element instanceof CDOElementProxy) { policy.resolveAllProxies(internalRevision, reference); break; } } } } internalRevision.setUnchunked(); } }
if (!((InternalCDORevision)revision).isUnchunked())
public void ensureChunks(InternalCDORevision revision, int chunkSize) if (revision.isUnchunked())