@Override protected Object confirming(CDODataInput in) throws IOException { CDOType type = CDOModelUtil.getType(feature); Object accessID = null; InternalCDOList list = (InternalCDOList)revision.getList(feature); for (int i = fromIndex; i <= toIndex; i++) { Object value = type.readValue(in); list.setWithoutFrozenCheck(i, value); if (i == accessIndex) { accessID = value; } } return accessID; } }
public InternalCDOList clone(EClassifier classifier) { CDOType type = CDOModelUtil.getType(classifier); int size = size(); InternalCDOList list = new CDOListImpl(size, 0, ordered); for (int j = 0; j < size; j++) { Object value = this.get(j); list.add(j, type.copyValue(value)); } return list; }
/** * @since 4.1 */ public void freeze() { flags |= FROZEN_FLAG; if (isReadable()) { EStructuralFeature[] features = getAllPersistentFeatures(); for (int i = 0; i < features.length; i++) { EStructuralFeature feature = features[i]; if (feature.isMany()) { InternalCDOList list = (InternalCDOList)doGetValue(i); if (list != null) { list.freeze(); } } } } }
protected CDORevisionImpl(CDORevisionImpl source) { super(source); EStructuralFeature[] features = CDOModelUtil.getAllPersistentFeatures(getEClass()); initValues(features); for (int i = 0; i < features.length; i++) { EStructuralFeature feature = features[i]; EClassifier classifier = feature.getEType(); if (feature.isMany()) { InternalCDOList sourceList = (InternalCDOList)source.values[i]; if (sourceList != null) { setValue(i, sourceList.clone(classifier)); } } else { CDOType type = CDOModelUtil.getType(feature); setValue(i, type.copyValue(source.values[i])); } } }
if (list != null) changed |= list.adjustReferences(referenceAdjuster, feature);
list.set(j, value); if (TRACER.isEnabled())
if (cdoList != null) cdoList.setWithoutFrozenCheck(startIndex + indexInChunk, id);
@Override public InternalCDOList clone(EClassifier classifier) { CDOType type = CDOModelUtil.getType(classifier); int size = size(); InternalCDOList list = new CDOListWithElementProxiesImpl(size, 0, 0, isOrdered()); for (int j = 0; j < size; j++) { Object value = this.get(j); if (value instanceof CDOElementProxy) { list.add(j, new CDOElementProxyImpl(((CDOElementProxy)value).getIndex())); } else { list.add(j, type.copyValue(value)); } } return list; } }