Serialization API.

{@link org.apache.polygene.api.serialization.Serialization} extends {@link org.apache.polygene.api.serialization.Serializer} and {@link org.apache.polygene.api.serialization.Deserializer}.
{@link org.apache.polygene.api.serialization.SerializationException} is thrown when something goes wrong.

Serialization implementations should be tagged with {@link org.apache.polygene.api.serialization.Serialization.Format} at assembly time so that consumers can specify which format they need:

@Service @Tagged( Serialization.Format.JSON ) Serialization serialization;

{@literal Serializer}s and {@literal Deserializer}s provides methods and functions to (de)serialize objects and set of objects.

Serialized representations might be textual (e.g. {@literal JSON} and {@literal XML}) or binary. Implementations are free to use any codec to encode/decode from/to text and bytes but it must be bi-directional.

The serialization behavior can be influenced using {@link org.apache.polygene.api.serialization.Serializer.Options}.