
Util::DataThing::Serializer - Abstract base class for objects that can serialize and deserialize Util::DataThing objects to various formats

my $serializer = Util::DataThing::Serializer::SomeSubclass->new();
$serializer->serialize_object_to_stream($object, $fh);

Serializes the given Util::DataThing object to a string and returns that string.
Attempts to deserialize the given string to an object of the given class, which must be a subclass of Util::DataThing.
Serializes the given Util::DataThing object to a string and writes the result to the given stream.
The stream must be some kind of IO object.
Attempts to deserialize data read from the given stream to an object of the given class, which must be a subclass of Util::DataThing.
The stream must be some kind of L<IO> object.

If you are developing a subclass of this class, you must provide implementations for the serialize and deserialize functions based on strings.
Default implementations of the stream-based methods are provided which are simple wrappers around the string-based methods. Subclasses should override these if they are able to do something more sensible.