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.Object
Hilfsklasse 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.Object
deserialize(byte[] data)
Deserialisiert ein Objekt aus einem Byte-Arraystatic java.lang.Object
deserialize(java.lang.String fileName)
Deserialisiert ein Objekt aus einer Datei.static java.lang.Long
deserializeId(byte[] data)
Deserialisiert einenlong
Wert aus einem Byte-Arrayjava.lang.Object
deserializeZIP(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(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-Arrayvoid
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.
-
-
-
Constructor Detail
-
SerializerUtil
public SerializerUtil() throws FailureException
Konstruktor. Führt Initialisierung durch.- Throws:
FailureException
- Fehler bei der Initialisierung.
-
-
Method Detail
-
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
- 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
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
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 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, 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
Ruftdone()
auf.- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
-