Bloc-Serialization
March 11, 2026 ยท View on GitHub
Bloc-Serialization
Bloc serialization features to store/unstore BlElements.
Getting Started
Installation
To install Bloc-Serialization on your Pharo image you can just execute the following script:
Metacello new
baseline: 'BlocSerialization';
repository: 'github://OpenSmock/Bloc-Serialization:main/src';
load.
How to use
Serialization
Use this method to serialize any BlElement into a String.
blElement := BlElement new.
string := blElement serialize.
Use same method to serialize a list of BlElement into a String.
oc := OrderedCollection new.
oc add: BlElement new.
oc add: BlElement new.
oc add: BlElement new.
string := oc serialize.
Materialization (Deserialization)
Use this method to materialize any serialized String into a BlElement. Of course, you need to know that the string is a serialized BlElement.
blElement := string materializeAsBlElement.
Use this method to materialize any serialized String into a BlElement collection. Of course, you need to know that the string is a serialized Collection.
oc := string materializeAsBlElement.
Tips : you can quickly copy a BlElement using BlElement>>serializeThenMaterialize.
element := BlElement new.
copy := element serializeThenMaterialize.
Exception / Error
Serialization or Materialization process return some exceptions in case of problems :
BlocSerializerError
BlocSerializationErrorBlocMaterializationError
Serialization backends
Stash and STON can be used as serialization backends.
The project architecture is flexible enough to accommodate the addition of more serialization backends if required.
Dependencies
License
This project is licensed under the MIT License - see the LICENSE file for details.