java.lang.Object
com.aoapps.persistence.GZIPSerializer<E>
- All Implemented Interfaces:
Serializer<E>
Wraps a serializer and compresses the data using GZIP.
This class is not thread safe.
- Author:
- AO Industries, Inc.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionRestores an object from anInputStream
.long
getSerializedSize
(E value) Determines the size of the object after serialization.boolean
If a serializer always creates the same number of bytes, containers can choose a fixed-size block for higher performance.void
serialize
(E value, OutputStream out) Writes the object to theOutputStream
.
-
Constructor Details
-
GZIPSerializer
-
-
Method Details
-
isFixedSerializedSize
public boolean isFixedSerializedSize()Description copied from interface:Serializer
If a serializer always creates the same number of bytes, containers can choose a fixed-size block for higher performance. If this method returnstrue
,Serializer.getSerializedSize(java.lang.Object)
must return the same value for every access, it may be accessed with anull
parameter, and it may be accessed less than once per serialized object.- Specified by:
isFixedSerializedSize
in interfaceSerializer<E>
- Returns:
- To indicate that the same number of bytes will be created, return
true
. Otherwise, there may be a dynamic number of bytes and returnfalse
.
-
getSerializedSize
Description copied from interface:Serializer
Determines the size of the object after serialization. This allows some optimizations avoiding unnecessary copying of data.
The common pattern is:- Get size from
Serializer.getSerializedSize(java.lang.Object)
- Allocate appropriate space
- Write serialized object with
Serializer.serialize(java.lang.Object, java.io.OutputStream)
Serializer.getSerializedSize(java.lang.Object)
andSerializer.serialize(java.lang.Object, java.io.OutputStream)
when it can reduce processing time.- Specified by:
getSerializedSize
in interfaceSerializer<E>
- Returns:
- the exact number of bytes the object will take to serialize
- Throws:
IOException
- Get size from
-
serialize
Description copied from interface:Serializer
Writes the object to theOutputStream
.null
will not be passed in.- Specified by:
serialize
in interfaceSerializer<E>
- Throws:
IOException
-
deserialize
Description copied from interface:Serializer
Restores an object from anInputStream
.- Specified by:
deserialize
in interfaceSerializer<E>
- Throws:
IOException
-