| serializer | serializer := FLSerializer newDefault. serializer header at: #timestamp putAdditionalObject: TimeStamp now. serializer header addPreMaterializationAction: [ Transcript show: 'Before serializing'; cr ]. serializer header addPostMaterializationAction: [ :materialization | Transcript show: 'Serialized at '; show: (materialization additionalObjectAt: #timestamp); cr; show: 'Materialized at '; show: TimeStamp now; cr ]. serializer serialize: 'a big amount of data' toFileNamed: 'demo.fl'Then, you can just materialize the header info:
| aHeader | aHeader := FLMaterializer materializeHeaderFromFileNamed: 'demo.fl'. aHeader additionalObjectAt: #timestamp.Printing it, the result is:
'28 March 2013 12:44:54 pm'If we normally materialize the whole file with:
FLMaterializer materializeFromFileNamed: 'demo.fl'Then, the print of the results is:
'a big amount of data'And this is shown in
Transcript
:Before serializing Serialized at 28 March 2013 12:50:50 pm Materialized at 28 March 2013 1:01:21 pmFor additional examples, you can see tests in
FLHeaderSerializationTest
.Since the graph of objects serialized in a file can be large, and it can be useful to query some small extra info, Fuel supports the possibility to easily add such information in a header. The following examples show this set of features:
| serializer | serializer := FLSerializer newDefault. serializer header at: #timestamp putAdditionalObject: TimeStamp now. serializer header addPreMaterializationAction: [ Transcript show: 'Before serializing'; cr ]. serializer header addPostMaterializationAction: [ :materialization | Transcript show: 'Serialized at '; show: (materialization additionalObjectAt: #timestamp); cr; show: 'Materialized at '; show: TimeStamp now; cr ]. serializer serialize: 'a big amount of data' toFileNamed: 'demo.fl'
Then, you can just materialize the header info:
| aHeader | aHeader := FLMaterializer materializeHeaderFromFileNamed: 'demo.fl'. aHeader additionalObjectAt: #timestamp.
Printing it, the result is:
'28 March 2013 12:44:54 pm'
If we normally materialize the whole file with:
FLMaterializer materializeFromFileNamed: 'demo.fl'
Then, the print of the results is:
'a big amount of data'
And this is shown in Transcript
:
Before serializing Serialized at 28 March 2013 12:50:50 pm Materialized at 28 March 2013 1:01:21 pm
For additional examples, you can see tests in FLHeaderSerializationTest
.