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 and Description |
---|
SerializerUtil()
Konstruktor.
|
Modifier and Type | Method and 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(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(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.
|
public SerializerUtil() throws FailureException
Konstruktor. Führt Initialisierung durch.
FailureException
- Fehler bei der Initialisierung.public void serializeIntoDataArray(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.
dest
- Data-Feld, in das das gepackte und serialisierte Objekt geschrieben wird.obj
- Objekt das serialisiert und gezippt wird.FailureException
- Fehler beim serialisieren und packen.public java.lang.Object deserializeZIP(byte[] compressedData) throws FailureException
Deserialisiert und dekomprimiert ein Objekt aus einem Bytefeld.
compressedData
- Bytefeld mit komprimiertem und serialisiertem Objekt.FailureException
- Fehler beim dekomprimieren und deserialisieren.public void done()
Beendet den Serialisierer. Diese Methode muss aufgerufen werden, wenn der Serialisierer nicht mehr verwendet wird.
protected void finalize() throws java.lang.Throwable
Ruft done()
auf.
finalize
in class java.lang.Object
java.lang.Throwable
Object.finalize()
public static byte[] serializeToByteArray(java.io.Serializable obj) throws FailureException
Serialisiert ein Objekt in einen Byte-Array.
obj
- ObjektFailureException
- Objekt konnte nicht serialisiert werdenpublic static void serialize(java.lang.String fileName, java.io.Serializable obj) throws FailureException
Serialisiert ein Objekt in eine Datei.
fileName
- Dateinameobj
- ObjektFailureException
- Falls es zu einem Fehler kommt.public static java.lang.Object deserialize(java.lang.String fileName)
Deserialisiert ein Objekt aus einer Datei.
fileName
- Dateinamepublic static java.lang.Object deserialize(byte[] data)
Deserialisiert ein Objekt aus einem Byte-Array
data
- Serialisiertes Objekt.null
im Fehlerfall oder falls keine Daten zu deserialisieren waren.public static void insertArray(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.
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.public static byte[] serializeId(long longValue) throws FailureException
Serialisiert einen Long Wert in einen Byte-Array
longValue
- Zu serialisierender Long-Wert.FailureException
- Objekt konnte nicht serialisiert werdenpublic static java.lang.Long deserializeId(byte[] data)
Deserialisiert einen long
Wert aus einem Byte-Array
data
- Serialisierter long.null
im Fehlerfall.