protected void setValue(int featureIndex, Object value) { checkFrozen(featureIndex, value); checkWritable(); doSetValue(featureIndex, value); }
protected Object getValue(int featureIndex) { checkReadable(); return doGetValue(featureIndex); }
/** * @since 3.0 */ public BaseCDORevision(EClass eClass) { super(eClass); if (eClass != null) { version = UNSPECIFIED_VERSION; revised = UNSPECIFIED_DATE; resourceID = CDOID.NULL; containerID = CDOID.NULL; containingFeatureID = 0; initValues(getAllPersistentFeatures()); } flags = CDOPermission.WRITE.getBits(); }
public void setList(EStructuralFeature feature, InternalCDOList list) { int featureIndex = getFeatureIndex(feature); setValue(featureIndex, list); }
EStructuralFeature[] features = getAllPersistentFeatures(); for (int i = 0; i < features.length; i++) if (feature.isMany()) CDOList list = getValueAsList(i); if (list != null) checkNoFeatureMap(feature); Object value = getValue(i); if (value != null && feature instanceof EReference) if (newValue != value) setValue(i, newValue);
public CDOList getList(EStructuralFeature feature, int size) { int featureIndex = getFeatureIndex(feature); CDOList list = (CDOList)getValue(featureIndex); if (list == null && size != -1) { list = CDOListFactory.DEFAULT.createList(size, 0, 0, feature.isOrdered()); synchronized (this) { CDOPermission permission = getPermission(); if (permission != CDOPermission.WRITE) { setPermission(CDOPermission.WRITE); } try { setValue(featureIndex, list); } finally { if (permission != CDOPermission.WRITE) { setPermission(permission); } } } } return list; }
public Object setValue(EStructuralFeature feature, Object value) { int featureIndex = getFeatureIndex(feature); try { Object old = getValue(featureIndex); setValue(featureIndex, value); return old; } catch (ArrayIndexOutOfBoundsException ex) { throw new IllegalArgumentException(MessageFormat.format(Messages.getString("AbstractCDORevision.20"), feature, getClassInfo()), ex); } }
private void readValues(CDODataInput in) throws IOException EClass owner = getEClass(); EStructuralFeature[] features = getAllPersistentFeatures(); initValues(features); for (int i = 0; i < features.length; i++) setValue(i, CDORevisionData.NIL); continue; setValue(i, value);
private void writeValues(CDODataOutput out, int referenceChunk) throws IOException EClass owner = getEClass(); EStructuralFeature[] features = getAllPersistentFeatures(); for (int i = 0; i < features.length; i++) Object value = getValue(i); if (value == null) checkNoFeatureMap(feature); if (feature instanceof EReference)
/** * @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(); } } } } }
public Object getValue(EStructuralFeature feature) { int featureIndex = getFeatureIndex(feature); return getValue(featureIndex); }
/** * @since 4.0 */ protected void writeSystemValues(CDODataOutput out) throws IOException { EClass eClass = getEClass(); CDOClassifierRef classRef = new CDOClassifierRef(eClass); if (TRACER.isEnabled()) { TRACER .format( "Writing revision: ID={0}, className={1}, version={2}, branchPoint={3}, revised={4}, resource={5}, container={6}, featureID={7}", //$NON-NLS-1$ id, eClass.getName(), getVersion(), branchPoint, revised, resourceID, containerID, containingFeatureID); } out.writeCDOClassifierRef(classRef); out.writeCDOID(id); out.writeCDOBranchPoint(branchPoint); out.writeInt(getVersion()); if (!id.isTemporary()) { out.writeLong(revised); } out.writeCDOID(resourceID); out.writeCDOID(out.getIDProvider().provideCDOID(containerID)); out.writeInt(containingFeatureID); }
/** * @since 4.0 */ protected void readSystemValues(CDODataInput in) throws IOException { EClassifier classifier = in.readCDOClassifierRefAndResolve(); CDOClassInfo classInfo = CDOModelUtil.getClassInfo((EClass)classifier); setClassInfo(classInfo); id = in.readCDOID(); branchPoint = in.readCDOBranchPoint(); version = in.readInt(); if (!id.isTemporary()) { revised = in.readLong(); } resourceID = in.readCDOID(); containerID = in.readCDOID(); containingFeatureID = in.readInt(); if (TRACER.isEnabled()) { TRACER .format( "Reading revision: ID={0}, className={1}, version={2}, branchPoint={3}, revised={4}, resource={5}, container={6}, featureID={7}", //$NON-NLS-1$ id, getEClass().getName(), version, branchPoint, revised, resourceID, containerID, containingFeatureID); } }
protected BaseCDORevision(BaseCDORevision source) { super(source.getEClass()); id = source.id; branchPoint = source.branchPoint; version = source.version; revised = source.revised; resourceID = source.resourceID; containerID = source.containerID; containingFeatureID = source.containingFeatureID; flags = (byte)(source.flags & TRANSFER_MASK); }
EStructuralFeature[] features = getAllPersistentFeatures(); for (int i = 0; i < features.length; i++) InternalCDOList list = (InternalCDOList)getValueAsList(i); if (list != null) Object oldValue = getValue(i); Object newValue = type.adjustReferences(referenceAdjuster, oldValue, feature, CDOFeatureDelta.NO_INDEX); if (oldValue != newValue) // Just an optimization for NOOP adjusters setValue(i, newValue); changed = true;