Class SerializerUtil

java.lang.Object
de.bsvrz.sys.funclib.losb.datk.SerializerUtil

public class SerializerUtil
extends java.lang.Object
Hilfsklasse zum (De-)Serialisieren von Daten für Protokolle und Auswertungen.
Wichtig:
Die Methoden serializeIntoDataArray(Data.Array, Serializable) und deserializeZIP(byte[]) sind nicht Threadsafe!
  • Constructor Summary

    Constructors
    Constructor Description
    SerializerUtil()
    Konstruktor.
  • Method Summary

    Modifier and Type Method Description
    static java.lang.Object deserialize​(byte[] data)
    Deserialisiert ein Objekt aus einem Byte-Array
    static java.lang.Object deserialize​(java.lang.String fileName)
    Deserialisiert ein Objekt aus einer Datei.
    static java.lang.Long deserializeId​(byte[] data)
    Deserialisiert einen long Wert aus einem Byte-Array
    java.lang.Object deserializeZIP​(byte[] compressedData)
    Deserialisiert und dekomprimiert ein Objekt aus einem Bytefeld.
    void done()
    Beendet den Serialisierer.
    protected void finalize()
    Ruft done() auf.
    static void insertArray​(de.bsvrz.dav.daf.main.Data.Array dest, byte[] source, int length)
    Fügt einen Byte-Array in den Datensatz ein.
    static void serialize​(java.lang.String fileName, java.io.Serializable obj)
    Serialisiert ein Objekt in eine Datei.
    static byte[] serializeId​(long longValue)
    Serialisiert einen Long Wert in einen Byte-Array
    void serializeIntoDataArray​(de.bsvrz.dav.daf.main.Data.Array dest, java.io.Serializable obj)
    Serialisiert und komprimiert ein Objekt in ein Data-Feld.
    static byte[] serializeToByteArray​(java.io.Serializable obj)
    Serialisiert ein Objekt in einen Byte-Array.

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SerializerUtil

      public SerializerUtil() throws FailureException
      Konstruktor. Führt Initialisierung durch.
      Throws:
      FailureException - Fehler bei der Initialisierung.
  • Method Details

    • serializeToByteArray

      public static byte[] serializeToByteArray​(java.io.Serializable obj) throws FailureException
      Serialisiert ein Objekt in einen Byte-Array.
      Parameters:
      obj - Objekt
      Returns:
      Byte-Array mit serialisiertem Objekt
      Throws:
      FailureException - Objekt konnte nicht serialisiert werden
    • serialize

      public static void serialize​(java.lang.String fileName, java.io.Serializable obj) throws FailureException
      Serialisiert ein Objekt in eine Datei.
      Parameters:
      fileName - Dateiname
      obj - Objekt
      Throws:
      FailureException - Falls es zu einem Fehler kommt.
    • deserialize

      public static java.lang.Object deserialize​(java.lang.String fileName)
      Deserialisiert ein Objekt aus einer Datei.
      Parameters:
      fileName - Dateiname
      Returns:
      Deserialisiertes Objekt oder null im Fehlerfall.
    • deserialize

      public static java.lang.Object deserialize​(byte[] data)
      Deserialisiert ein Objekt aus einem Byte-Array
      Parameters:
      data - Serialisiertes Objekt.
      Returns:
      Deserialisiertes Objekt oder null im Fehlerfall oder falls keine Daten zu deserialisieren waren.
    • insertArray

      public static void insertArray​(de.bsvrz.dav.daf.main.Data.Array dest, byte[] source, int length)
      Fügt einen Byte-Array in den Datensatz ein. Kann normalerweise durch Data.NumberArray.set(byte...) ersetzt werden.
      Parameters:
      dest - Datensatz, in den der Byte-Array kopiert wird.
      source - Byte-Array mit den Quelldaten. Falls source null ist, wird ein leerer Datensatz (d.h. ein Feld mit Länge 0) gesendet.
      length - Anzahl der zu kopierenden Bytes. Muss <= source.length sein.
    • serializeId

      public static byte[] serializeId​(long longValue) throws FailureException
      Serialisiert einen Long Wert in einen Byte-Array
      Parameters:
      longValue - Zu serialisierender Long-Wert.
      Returns:
      Byte-Array mit serialisiertem Objekt
      Throws:
      FailureException - Objekt konnte nicht serialisiert werden
    • deserializeId

      public static java.lang.Long deserializeId​(byte[] data)
      Deserialisiert einen long Wert aus einem Byte-Array
      Parameters:
      data - Serialisierter long.
      Returns:
      Long Objekt oder null im Fehlerfall.
    • serializeIntoDataArray

      public void serializeIntoDataArray​(de.bsvrz.dav.daf.main.Data.Array dest, java.io.Serializable obj) throws FailureException
      Serialisiert und komprimiert ein Objekt in ein Data-Feld. Diese Methode ist nicht Threadsafe. TODO nicht komprimieren, falls komprimierte Daten > unkomprimierte Daten.
      Parameters:
      dest - Data-Feld, in das das gepackte und serialisierte Objekt geschrieben wird.
      obj - Objekt das serialisiert und gezippt wird.
      Throws:
      FailureException - Fehler beim serialisieren und packen.
    • deserializeZIP

      public java.lang.Object deserializeZIP​(byte[] compressedData) throws FailureException
      Deserialisiert und dekomprimiert ein Objekt aus einem Bytefeld.
      Parameters:
      compressedData - Bytefeld mit komprimiertem und serialisiertem Objekt.
      Returns:
      Wiederhergestelltes Objekt.
      Throws:
      FailureException - Fehler beim dekomprimieren und deserialisieren.
    • done

      public void done()
      Beendet den Serialisierer. Diese Methode muss aufgerufen werden, wenn der Serialisierer nicht mehr verwendet wird.
    • finalize

      protected void finalize() throws java.lang.Throwable
      Ruft done() auf.
      Overrides:
      finalize in class java.lang.Object
      Throws:
      java.lang.Throwable