See: Description
Interface | Description |
---|---|
Deserializer<T> |
Reads an object from an
ObjectInputStream . |
IndirectSerializable<T> |
Can be serialized in a
Deserializer API conform way. |
Serializer<T> |
Serializer can write an object to an OOS.
|
Class | Description |
---|---|
AbstractSerialization<S extends D,D> |
Deserializer conform serialization delegating serialization/deserialization to custom implementations. |
DelegatingDeserializer<T extends Serializable> |
Delegate deserialization to
ObjectInputStream.readUnshared() . |
SerializationUtil |
Utility for serialization.
|
ProgressObserver
callbacks.
Important parts of the Descriptors and Overlap APIs are Serializable
. Certain classes might contain huge
amount of data, possibly in the order of multiple gigabytes - consider UnguardedPagedStorage
storing 10s of
millions descriptors. Custom serialization implementations, like the one provided through
OverlapAnalysisContext
can efficiently read/write these objects into Object streams while providing
progress observing by accepting ProgressObserver
callbacks. Deserializing objects from streams containing
plain serialized objects and objects serialized by the custom serialization might be confusing. Tools in this package
helps to overcome this confusion.
Usage contracts:
Deserializer
is written to the stream first using
ObjectOutputStream#writeObject(Object)
.Deserializer#deserialize(ObjectInputStream, SubProgressObserver)
calls either
to the proper custom deserializer method or to default Java deserialization