Package de.bsvrz.sys.funclib.losb.datk
Class SerializerUtil
java.lang.Object
de.bsvrz.sys.funclib.losb.datk.SerializerUtil
Hilfsklasse zum (De-)Serialisieren von Daten für Protokolle und Auswertungen.
Wichtig:
Die Methoden
Wichtig:
Die Methoden
serializeIntoDataArray(Data.Array, Serializable)
und deserializeZIP(byte[])
sind nicht Threadsafe!-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Object
deserialize
(byte[] data) Deserialisiert ein Objekt aus einem Byte-Arraystatic Object
deserialize
(String fileName) Deserialisiert ein Objekt aus einer Datei.static Long
deserializeId
(byte[] data) Deserialisiert einenlong
Wert aus einem Byte-ArraydeserializeZIP
(byte[] compressedData) Deserialisiert und dekomprimiert ein Objekt aus einem Bytefeld.void
done()
Beendet den Serialisierer.protected void
finalize()
Ruftdone()
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
(String fileName, Serializable obj) Serialisiert ein Objekt in eine Datei.static byte[]
serializeId
(long longValue) Serialisiert einen Long Wert in einen Byte-Arrayvoid
serializeIntoDataArray
(de.bsvrz.dav.daf.main.Data.Array dest, Serializable obj) Serialisiert und komprimiert ein Objekt in ein Data-Feld.static byte[]
Serialisiert ein Objekt in einen Byte-Array.
-
Constructor Details
-
SerializerUtil
Konstruktor. Führt Initialisierung durch.- Throws:
FailureException
- Fehler bei der Initialisierung.
-
-
Method Details
-
serializeToByteArray
Serialisiert ein Objekt in einen Byte-Array.- Parameters:
obj
- Objekt- Returns:
- Byte-Array mit serialisiertem Objekt
- Throws:
FailureException
- Objekt konnte nicht serialisiert werden
-
serialize
Serialisiert ein Objekt in eine Datei.- Parameters:
fileName
- Dateinameobj
- Objekt- Throws:
FailureException
- Falls es zu einem Fehler kommt.
-
deserialize
Deserialisiert ein Objekt aus einer Datei.- Parameters:
fileName
- Dateiname- Returns:
- Deserialisiertes Objekt oder null im Fehlerfall.
-
deserialize
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 durchData.NumberArray.set(byte...)
ersetzt werden.- Parameters:
dest
- Datensatz, in den der Byte-Array kopiert wird.source
- Byte-Array mit den Quelldaten. Falls sourcenull
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
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
Deserialisiert einenlong
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, 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
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
Ruftdone()
auf.
-