On 10 February 2012 16:24, Martin Dias <tinchodias@gmail.com> wrote:
Maybe is too much overhead, but it is also possible to serialize an object that represents the metadata as a prefix:
FileStream forceNewFileNamed: 'demoMetadata.fuel' do: [:aStream | aStream binary. metadata := Dictionary with: #meta -> 5. content := 'stuff'. FLSerializer newDefault serialize: metadata on: aStream; serialize: content on: aStream ].
FileStream oldFileNamed: 'demoMetadata.fuel' do: [:aStream | | aMaterializer | aStream binary. aMaterializer := FLMaterializer newDefault. metadata := (aMaterializer materializeFrom: aStream) root. content := (aMaterializer materializeFrom: aStream) root ].
Martin
which eventually could be turned into simple: MyStuff>>serializeOn: stream serializer := FLSerializer newDefault. serializer serialize: {myStuff. myMetaStuff. myMetaMetaStuff } on: stream ]. so, you don't even need to care about stream contents :) -- Best regards, Igor Stasenko.