facet class sys::Serializable
sys::Obj sys::Serializable : sys::Facet
@FacetMeta { inherited=true }
@Serializable
Serializable is a facet used to annotate types which can be serialized. Objects are serialized via OutStream.writeObj
and deserialized via InStream.readObj
.
See the Serialization Doc for details.
- collection
-
const Bool collection := false
Collections are serialized with a collection of child objects using the following rules where
Item
is the item type:- Provide an
add(Item)
method to add child items duringreadObj
- Provide an
each(|Item| f)
method to iterate child items duringwriteObj
- Provide an
- simple
-
const Bool simple := false
Simples are serialized atomically via a customized string representation using the following rules:
- Override
Obj.toStr
to return a suitable string representation of the object. - Must declare a static method called
fromStr
which takes oneStr
parameter and returns an instance of the declaring type. ThefromStr
method may contain additional parameters if they declare defaults.
- Override