@Override public void write(EObjectOutputStream eObjectOutputStream, Object value) throws IOException { if (value == null) { eObjectOutputStream.writeCompressedInt(-1); } else { Integer id = objectToIDMap.get(value); if (id == null) { int idValue = objectToIDMap.size(); objectToIDMap.put(value, idValue); eObjectOutputStream.writeCompressedInt(idValue); super.write(eObjectOutputStream, value); } else { eObjectOutputStream.writeCompressedInt(id); } } }
@Override public void write(EObjectOutputStream eObjectOutputStream, Object value) throws IOException { if (value == null) { eObjectOutputStream.writeCompressedInt(-1); } else { Integer id = objectToIDMap.get(value); if (id == null) { int idValue = objectToIDMap.size(); objectToIDMap.put(value, idValue); eObjectOutputStream.writeCompressedInt(idValue); super.write(eObjectOutputStream, value); } else { eObjectOutputStream.writeCompressedInt(id); } } }
public void writeURI(URI uri, String fragment) throws IOException { if (uri == null) { writeCompressedInt(-1); } else { assert uri.fragment() == null; Integer id = uriToIDMap.get(uri); if (id == null) { int idValue = uriToIDMap.size(); uriToIDMap.put(uri, idValue); writeCompressedInt(idValue); writeSegmentedString(deresolve(uri).toString()); } else { writeCompressedInt(id); } writeSegmentedString(fragment); } } }
writeCompressedInt(-1); writeCompressedInt(idValue); eObjectIDMap.put(internalEObject, idValue); EClass eClass = internalEObject.eClass(); if (resource != null) writeCompressedInt(-1); writeURI(resource.getURI(), resource.getURIFragment(internalEObject)); if ((style & STYLE_PROXY_ATTRIBUTES) == 0) writeCompressedInt(-1); writeURI(internalEObject.eProxyURI()); if ((style & STYLE_PROXY_ATTRIBUTES) == 0) writeCompressedInt(-1); writeURI(resource.getURI(), resource.getURIFragment(internalEObject)); if ((style & STYLE_PROXY_ATTRIBUTES) == 0) writeCompressedInt(-1); writeURI(internalEObject.eProxyURI()); if ((style & STYLE_PROXY_ATTRIBUTES) == 0) writeCompressedInt(0); writeCompressedInt(id);
writeCompressedInt(-1); writeCompressedInt(idValue); writeCompressedInt(0); writeString(value); writeCompressedInt(segmentCount); for (int i = 0; i < segmentCount; ++i) writeCompressedInt(id);
writeCompressedInt(-1); if (id != null) writeCompressedInt(id); return; writeCompressedInt(idValue); writeCompressedInt(length); if (characters == null || characters.length < length)
writeCompressedInt(-1); if (id != null) writeCompressedInt(id); return; writeCompressedInt(idValue); writeCompressedInt(length); if (characters == null || characters.length < length)
protected EClassData writeEClass(EClass eClass) throws IOException { EClassData eClassData = eClassDataMap.get(eClass); if (eClassData == null) { eClassData = new EClassData(); EPackageData ePackageData = writeEPackage(eClass.getEPackage()); eClassData.ePackageID = ePackageData.id; writeCompressedInt(eClassData.id = ePackageData.allocateEClassID()); writeString(eClass.getName()); int featureCount = eClass.getFeatureCount(); EStructuralFeatureData [] eStructuralFeaturesData = eClassData.eStructuralFeatureData = new EStructuralFeatureData[featureCount]; for (int i = 0; i < featureCount; ++i) { EStructuralFeature.Internal eStructuralFeature = (EStructuralFeature.Internal)eClass.getEStructuralFeature(i); eStructuralFeaturesData[i] = createEStructuralFeatureData(eStructuralFeature); } ePackageData.eClassData[eClassData.id] = eClassData; eClassDataMap.put(eClass, eClassData); } else { writeCompressedInt(eClassData.ePackageID); writeCompressedInt(eClassData.id); } return eClassData; }
public void writeURI(URI uri, String fragment) throws IOException { if (uri == null) { writeCompressedInt(-1); } else { assert uri.fragment() == null; Integer id = uriToIDMap.get(uri); if (id == null) { int idValue = uriToIDMap.size(); uriToIDMap.put(uri, idValue); writeCompressedInt(idValue); writeSegmentedString(deresolve(uri).toString()); } else { writeCompressedInt(id); } writeSegmentedString(fragment); } } }
protected EPackageData writeEPackage(EPackage ePackage) throws IOException { EPackageData ePackageData = ePackageDataMap.get(ePackage); if (ePackageData == null) { ePackageData = new EPackageData(); int id = ePackageDataMap.size(); ePackageData.id = id; ePackageData.eClassData = new EClassData[ePackage.getEClassifiers().size()]; writeCompressedInt(id); writeSegmentedString(ePackage.getNsURI()); writeURI(EcoreUtil.getURI(ePackage)); ePackageDataMap.put(ePackage, ePackageData); } else { writeCompressedInt(ePackageData.id); } return ePackageData; }
protected EPackageData writeEPackage(EPackage ePackage) throws IOException { EPackageData ePackageData = ePackageDataMap.get(ePackage); if (ePackageData == null) { ePackageData = new EPackageData(); int id = ePackageDataMap.size(); ePackageData.id = id; ePackageData.eClassData = new EClassData[ePackage.getEClassifiers().size()]; writeCompressedInt(id); writeSegmentedString(ePackage.getNsURI()); writeURI(EcoreUtil.getURI(ePackage)); ePackageDataMap.put(ePackage, ePackageData); } else { writeCompressedInt(ePackageData.id); } return ePackageData; }
protected void saveFeatureValue(InternalEObject internalEObject, int featureID, EStructuralFeatureData eStructuralFeatureData) throws IOException { if (internalEObject.eIsSet(featureID)) { writeCompressedInt(featureID + 1); if (eStructuralFeatureData.name != null) { writeString(eStructuralFeatureData.name); if (segmentedStringToIDMap != null && eStructuralFeatureData.eDataType != null) { writeBoolean(eStructuralFeatureData.dataConverter != null); } eStructuralFeatureData.name = null; } Object value = internalEObject.eGet(featureID, false, true); saveFeatureValue(internalEObject, value, featureID, eStructuralFeatureData); } }
protected EStructuralFeatureData writeEStructuralFeature(EStructuralFeature eStructuralFeature) throws IOException { EClass eClass = eStructuralFeature.getEContainingClass(); EClassData eClassData = writeEClass(eClass); int featureID = eClass.getFeatureID(eStructuralFeature); EStructuralFeatureData eStructuralFeatureData = eClassData.eStructuralFeatureData[featureID]; writeCompressedInt(featureID); if (eStructuralFeatureData.name != null) { writeString(eStructuralFeatureData.name); if (segmentedStringToIDMap != null && eStructuralFeatureData.eDataType != null) { writeBoolean(eStructuralFeatureData.dataConverter != null); } eStructuralFeatureData.name = null; } return eStructuralFeatureData; }
protected void saveFeatureValue(InternalEObject internalEObject, int featureID, EStructuralFeatureData eStructuralFeatureData) throws IOException { if (internalEObject.eIsSet(featureID)) { writeCompressedInt(featureID + 1); if (eStructuralFeatureData.name != null) { writeString(eStructuralFeatureData.name); if (segmentedStringToIDMap != null && eStructuralFeatureData.eDataType != null) { writeBoolean(eStructuralFeatureData.dataConverter != null); } eStructuralFeatureData.name = null; } Object value = internalEObject.eGet(featureID, false, true); saveFeatureValue(internalEObject, value, featureID, eStructuralFeatureData); } }
protected EStructuralFeatureData writeEStructuralFeature(EStructuralFeature eStructuralFeature) throws IOException { EClass eClass = eStructuralFeature.getEContainingClass(); EClassData eClassData = writeEClass(eClass); int featureID = eClass.getFeatureID(eStructuralFeature); EStructuralFeatureData eStructuralFeatureData = eClassData.eStructuralFeatureData[featureID]; writeCompressedInt(featureID); if (eStructuralFeatureData.name != null) { writeString(eStructuralFeatureData.name); if (segmentedStringToIDMap != null && eStructuralFeatureData.eDataType != null) { writeBoolean(eStructuralFeatureData.dataConverter != null); } eStructuralFeatureData.name = null; } return eStructuralFeatureData; }
public void saveFeatureMap(FeatureMap.Internal featureMap) throws IOException { int size = featureMap.size(); FeatureMap.Entry.Internal [] values = allocateFeatureMapEntryArray(size); featureMap.toArray(values); writeCompressedInt(size); for (int i = 0; i < size; ++i) { FeatureMap.Entry.Internal entry = values[i]; saveFeatureMapEntry(entry); } recycle(values); }
public void saveEObjects(InternalEList<? extends InternalEObject> internalEObjects, Check check) throws IOException { int size = internalEObjects.size(); InternalEObject [] values = allocateInternalEObjectArray(size); internalEObjects.basicToArray(values); writeCompressedInt(size); for (int i = 0; i < size; ++i) { InternalEObject internalEObject = values[i]; saveEObject(internalEObject, check); } recycle(values); }
/** * Internal low level serialization of QualifiedNames. * @since 2.4 */ public void writeToStream(EObjectOutputStream eObjectOutputStream) throws IOException { int segmentCount = getSegmentCount(); eObjectOutputStream.writeCompressedInt(segmentCount); for (int i = 0; i < segmentCount; ++i) { eObjectOutputStream.writeSegmentedString(getSegment(i)); } }
public void saveFeatureMap(FeatureMap.Internal featureMap) throws IOException { int size = featureMap.size(); FeatureMap.Entry.Internal [] values = allocateFeatureMapEntryArray(size); featureMap.toArray(values); writeCompressedInt(size); for (int i = 0; i < size; ++i) { FeatureMap.Entry.Internal entry = values[i]; saveFeatureMapEntry(entry); } recycle(values); }
public void saveEObjects(InternalEList<? extends InternalEObject> internalEObjects, Check check) throws IOException { int size = internalEObjects.size(); InternalEObject [] values = allocateInternalEObjectArray(size); internalEObjects.basicToArray(values); writeCompressedInt(size); for (int i = 0; i < size; ++i) { InternalEObject internalEObject = values[i]; saveEObject(internalEObject, check); } recycle(values); }