Interface Deserializer


public interface Deserializer
Schnittstelle zum Deserialisieren von Datensätzen. Konkrete Objekte zum Deserialisieren können mit den verschiedenen Methoden der Klasse SerializingFactory erzeugt werden. Dabei kann der Eingabe-Stream für die Deserialisierung vorgegeben werden.

Mit den verschiedenen read-Methoden können primitive Datentypen, Referenzen auf System-Objekte und ganze Datensätze von einem InputStream eingelesen und deserialisiert werden.

Über die getVersion() Methode kann die Version eines konkreten Deserialisieres abgefragt werden.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.
    int
    Bestimmt die Version des konkreten Deserialisierers.
    boolean
    Liest und deserialisiert einen boolean-Wert vom Eingabe-Strom dieses Deserialisierers.
    byte
    Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers.
    void
    readBytes(byte[] buffer, int offset, int length)
    Liest eine vorgegebene Anzahl von Bytes vom Eingabe-Stream dieses Deserialisierers ein und speichert diese an einem vorgegebenen Offset in ein vorhandenes Byte-Array.
    byte[]
    readBytes(int length)
    Liest ein Byte-Array mit vorgegebener Länge vom Eingabe-Stream dieses Deserialisierers.
    Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
    Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
    void
    readData(Data data)
    Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
    void
    readData(Data data, ObjectLookup dataModel)
    Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
    double
    Liest und deserialisiert einen double-Wert vom Eingabe-Stream dieses Deserialisierers.
    float
    Liest und deserialisiert einen float-Wert vom Eingabe-Stream dieses Deserialisierers.
    int
    Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers.
    long
    Liest und deserialisiert einen long-Wert vom Eingabe-Stream dieses Deserialisierers.
    Liest und deserialisiert eine Referenz auf ein Systemobjekt vom Eingabe-Stream dieses Deserialisierers.
    Liest mehrere Objektreferenzen vom Eingabe-Stream dieses Deserialisierers.
    short
    Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers.
    Liest und deserialisiert einen String-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.
    readString(int maxLength)
    Liest und deserialisiert einen String-Wert mit einer vorgegebenen Maximal-Länge vom Eingabe-Stream dieses Deserialisierers.
    int
    Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
    long
    Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
    int
    Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
    void
    Setzt den zu verwendenden Eingabe-Stream.
  • Method Details

    • getVersion

      int getVersion()
      Bestimmt die Version des konkreten Deserialisierers.
      Returns:
      Version des Deserialisierers.
    • getInputStream

      InputStream getInputStream()
      Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.
      Returns:
      Bei der Deserialisierung zu verwendender Eingabe-Stream.
    • setInputStream

      void setInputStream(InputStream inputStream)
      Setzt den zu verwendenden Eingabe-Stream.
      Parameters:
      inputStream - Zu verwendender InputStream
    • readData

      void readData(Data data) throws IOException
      Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
      Parameters:
      data - Neuer Datensatz, der mit der Attributgruppe der erwarteten Daten initialisiert wurde.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
      See Also:
    • readData

      Data readData(AttributeGroup atg) throws IOException
      Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
      Parameters:
      atg - Attributgruppe des einzulesenden Datensatzes.
      Returns:
      Eingelesener Datensatz
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readData

      void readData(Data data, ObjectLookup dataModel) throws IOException
      Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
      Parameters:
      data - Neuer Datensatz, der mit der Attributgruppe der erwarteten Daten initialisiert wurde.
      dataModel - Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
      See Also:
    • readData

      Data readData(AttributeGroup atg, ObjectLookup dataModel) throws IOException
      Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
      Parameters:
      atg - Attributgruppe des einzulesenden Datensatzes.
      dataModel - Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.
      Returns:
      Eingelesener Datensatz
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readBoolean

      boolean readBoolean() throws IOException
      Liest und deserialisiert einen boolean-Wert vom Eingabe-Strom dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readObjectReference

      SystemObject readObjectReference(ObjectLookup dataModel) throws IOException
      Liest und deserialisiert eine Referenz auf ein Systemobjekt vom Eingabe-Stream dieses Deserialisierers.
      Parameters:
      dataModel - Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.
      Returns:
      Das referenzierte Systemobjekt oder null, wenn das referenzierte Objekt nicht bestimmt werden kann.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readObjectReferences

      default List<SystemObject> readObjectReferences(DataModel dataModel) throws IOException
      Liest mehrere Objektreferenzen vom Eingabe-Stream dieses Deserialisierers. Diese Methode liefert das gleiche Resultat wie

      size = readInt()

      gefolgt von *size* Aufrufen von

      readObjectReference().

      Parameters:
      dataModel - Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.
      Returns:
      Arrays von referenzierten Systemobjekten (ggf. mit null-Elementen wenn ein Objekt nicht aufgelöst werden konnte)
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readByte

      byte readByte() throws IOException
      Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readUnsignedByte

      int readUnsignedByte() throws IOException
      Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
      Returns:
      Der eingelesene Wert als vorzeichenlose Zahl.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readShort

      short readShort() throws IOException
      Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readUnsignedShort

      int readUnsignedShort() throws IOException
      Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
      Returns:
      Der eingelesene Wert als vorzeichenlose Zahl.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readInt

      int readInt() throws IOException
      Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readUnsignedInt

      long readUnsignedInt() throws IOException
      Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
      Returns:
      Der eingelesene Wert als vorzeichenlose Zahl.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readLong

      long readLong() throws IOException
      Liest und deserialisiert einen long-Wert vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readFloat

      float readFloat() throws IOException
      Liest und deserialisiert einen float-Wert vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readDouble

      double readDouble() throws IOException
      Liest und deserialisiert einen double-Wert vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene Wert.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readString

      String readString() throws IOException
      Liest und deserialisiert einen String-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.
      Returns:
      Der eingelesene String.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readString

      String readString(int maxLength) throws IOException
      Liest und deserialisiert einen String-Wert mit einer vorgegebenen Maximal-Länge vom Eingabe-Stream dieses Deserialisierers. Es ist zu beachten, dass beim Deserialiseren die gleiche Maximalgröße wie beim Serialisieren angegeben wird.
      Parameters:
      maxLength - Maximale Länge des einzulesenden Strings oder 0 wenn keine Begrenzung vorgegeben werden kann.
      Returns:
      Der eingelesene String.
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readBytes

      byte[] readBytes(int length) throws IOException
      Liest ein Byte-Array mit vorgegebener Länge vom Eingabe-Stream dieses Deserialisierers. Es ist zu beachten, das als Länge exakt die Größe des entsprechenden serialisierten Arrays angegeben werden muss.
      Parameters:
      length - Länge des einzulesenden Byte-Arrays
      Returns:
      Das eingelesene Byte-Array
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • readBytes

      void readBytes(byte[] buffer, int offset, int length) throws IOException
      Liest eine vorgegebene Anzahl von Bytes vom Eingabe-Stream dieses Deserialisierers ein und speichert diese an einem vorgegebenen Offset in ein vorhandenes Byte-Array. Es ist zu beachten, das als Länge exakt die Größe des entsprechenden serialisierten Arrays angegeben werden muss.
      Parameters:
      buffer - Byte-Array in das die eingelesenen Bytes gespeichert werden sollen.
      offset - Startposition im Byte-Array ab der die eingelesenen Bytes gespeichert werden sollen.
      length - Anzahl der einzulesenden Bytes
      Throws:
      IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.