Class ObjectQueueSerializer<E>

    • Method Summary

      Modifier and Type Method Description
      E deserialize​(java.io.DataInputStream inputStream)
      Deserialisiert ein Objekt aus dem Stream.
      int getSize​(E object)
      Gibt die Größe eines Objektes an.
      void serialize​(java.io.DataOutputStream outputStream, E object)
      Serialisiert das Objekt
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ObjectQueueSerializer

        public ObjectQueueSerializer()
    • Method Detail

      • getSize

        public int getSize​(E object)
        Description copied from interface: 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.
        Specified by:
        getSize in interface QueueSerializer<E>
        Parameters:
        object - Objekt
        Returns:
        Größe des serialisierten Objektes in Bytes
      • serialize

        public void serialize​(java.io.DataOutputStream outputStream,
                              E object)
                       throws java.io.IOException
        Description copied from interface: QueueSerializer
        Serialisiert das Objekt
        Specified by:
        serialize in interface QueueSerializer<E>
        Parameters:
        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 soll
        Throws:
        java.io.IOException - Falls beim Schreiben Fehler auftreten
      • deserialize

        public E deserialize​(java.io.DataInputStream inputStream)
                      throws java.io.IOException
        Description copied from interface: 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.
        Specified by:
        deserialize in interface QueueSerializer<E>
        Parameters:
        inputStream - Eingabestream.
        Returns:
        Das deserialisierte Objekt
        Throws:
        java.io.IOException - Falls beim Lesen Fehler auftreten