public final class LongQueueSerializer extends java.lang.Object implements QueueSerializer<java.lang.Long>
Constructor and Description |
---|
LongQueueSerializer() |
Modifier and Type | Method and Description |
---|---|
java.lang.Long |
deserialize(java.io.DataInputStream inputStream)
Deserialisiert ein Objekt aus dem Stream.
|
int |
getSize(java.lang.Long object)
Gibt die Größe eines Objektes an.
|
void |
serialize(java.io.DataOutputStream outputStream,
java.lang.Long object)
Serialisiert das Objekt
|
public int getSize(java.lang.Long object)
QueueSerializer
Gibt die Größe eines Objektes an. Es ist wichtig, dass hier exakt die Länge zurückgegeben wird, die in den outputStream geschrieben werden, würde man serialize(outputStream, object) mit dem gleichen Objekt aufrufen.
getSize
in interface QueueSerializer<java.lang.Long>
object
- Objektpublic void serialize(java.io.DataOutputStream outputStream, java.lang.Long object) throws java.io.IOException
QueueSerializer
Serialisiert das Objekt
serialize
in interface QueueSerializer<java.lang.Long>
outputStream
- In diesen Stream soll das Objekt geschrieben werden. Es muss an die aktuelle Stream-Position geschrieben werden und es müssen so viele Bytes geschrieben werden, wie getSize(objekt) zurückgeben würde.object
- Objekt, das geschrieben werden solljava.io.IOException
- Falls beim Schreiben Fehler auftretenpublic java.lang.Long deserialize(java.io.DataInputStream inputStream) throws java.io.IOException
QueueSerializer
Deserialisiert ein Objekt aus dem Stream. Es muss an der aktuellen Stream-Position gelesen werden und zwar so viele Bytes, wie das deserialisierte Objekt in der getSize()-Funktion zurückliefern würde. Damit vor dem Deserialisieren bekannt ist, wie viele Bytes gelesen werden sollen, ist es bei Typen variabler Länge evtl. nötig beim Serialisieren zuerst die Länge zu schreiben und beim Deserialisieren als erstes zu lesen.
deserialize
in interface QueueSerializer<java.lang.Long>
inputStream
- Eingabestream.java.io.IOException
- Falls beim Lesen Fehler auftreten