For non-primitive objects that must be saved (i.e. not Ints, Floats, Strings, etc.),
this trait defines the requirements of the object. Basically, the object must save
itself using the capabilities of the provided ObjectSaver.
Unlike with Java-serialization, which stores all members by default (unless they are marked transient),
we assume here that Saveables with make explicit calls to write their essential fields. This should be
partnered with a RestoreFactory that can recreate the object from those essential fields.
Created by Dick Carter on 1/16/2015.
For non-primitive objects that must be saved (i.e. not Ints, Floats, Strings, etc.), this trait defines the requirements of the object. Basically, the object must save itself using the capabilities of the provided ObjectSaver.
Unlike with Java-serialization, which stores all members by default (unless they are marked transient), we assume here that Saveables with make explicit calls to write their essential fields. This should be partnered with a RestoreFactory that can recreate the object from those essential fields.