de.bsvrz.sys.funclib.losb.datk
Class SerializerUtil

java.lang.Object
  extended by 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!

Version:
$Revision: 1.1 $ / $Date: 2008/01/22 16:55:51 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Martin Hilgers

Constructor Summary
SerializerUtil()
          Konstruktor.
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializerUtil

public SerializerUtil()
               throws FailureException
Konstruktor. Führt Initialisierung durch.

Throws:
FailureException - Fehler bei der Initialisierung.
Method Detail

serializeIntoDataArray

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.

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
See Also:
Object.finalize()

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(Data.Array dest,
                               byte[] source,
                               int length)
Fügt einen Byte-Array in den Datensatz ein.

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.


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.