Package de.bsvrz.sys.funclib.losb.datk
Class SerializerUtil
- java.lang.Object
-
- de.bsvrz.sys.funclib.losb.datk.SerializerUtil
-
public class SerializerUtil extends java.lang.ObjectHilfsklasse zum (De-)Serialisieren von Daten für Protokolle und Auswertungen.
Wichtig:
Die MethodenserializeIntoDataArray(Data.Array,Serializable)unddeserializeZIP(byte[])sind nicht Threadsafe!
-
-
Constructor Summary
Constructors Constructor Description SerializerUtil()Konstruktor.
-
Method Summary
Modifier and Type Method Description static java.lang.Objectdeserialize(byte[] data)Deserialisiert ein Objekt aus einem Byte-Arraystatic java.lang.Objectdeserialize(java.lang.String fileName)Deserialisiert ein Objekt aus einer Datei.static java.lang.LongdeserializeId(byte[] data)Deserialisiert einenlongWert aus einem Byte-Arrayjava.lang.ObjectdeserializeZIP(byte[] compressedData)Deserialisiert und dekomprimiert ein Objekt aus einem Bytefeld.voiddone()Beendet den Serialisierer.protected voidfinalize()Ruftdone()auf.static voidinsertArray(de.bsvrz.dav.daf.main.Data.Array dest, byte[] source, int length)Fügt einen Byte-Array in den Datensatz ein.static voidserialize(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-ArrayvoidserializeIntoDataArray(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.
-
-
-
Constructor Detail
-
SerializerUtil
public SerializerUtil() throws FailureExceptionKonstruktor. Führt Initialisierung durch.- Throws:
FailureException- Fehler bei der Initialisierung.
-
-
Method Detail
-
serializeIntoDataArray
public void serializeIntoDataArray(de.bsvrz.dav.daf.main.Data.Array dest, java.io.Serializable obj) throws FailureExceptionSerialisiert 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 FailureExceptionDeserialisiert 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.ThrowableRuftdone()auf.- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
serializeToByteArray
public static byte[] serializeToByteArray(java.io.Serializable obj) throws FailureExceptionSerialisiert 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 FailureExceptionSerialisiert ein Objekt in eine Datei.- Parameters:
fileName- Dateinameobj- 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
nullim 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 sourcenullist, wird ein leerer Datensatz (d.h. ein Feld mit Länge 0) gesendet.length- Anzahl der zu kopierenden Bytes. Muss<= source.lengthsein.
-
serializeId
public static byte[] serializeId(long longValue) throws FailureExceptionSerialisiert 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 einenlongWert aus einem Byte-Array- Parameters:
data- Serialisierter long.- Returns:
- Long Objekt oder
nullim Fehlerfall.
-
-