public class SerializerUtil extends Object
serializeIntoDataArray(Data.Array,Serializable)
und deserializeZIP(byte[])
sind nicht Threadsafe!Modifier and Type | Field and Description |
---|---|
private ByteArrayOutputStream |
bosStatic
Outputstream.
|
private static int |
BUFFER_SIZE
Puffergröße für Ausgabestream und Array für komprimierte Daten.
|
private byte[] |
compressedData
Array das den komprimierten Datensatz (serialisiertes & gezipptes Objekt) enthält.
|
(package private) static int |
COMPRESSION_LEVEL
Kommpressionsfaktor.
|
private static Debug |
debug
Debug Ausgabe
|
private Deflater |
def
Objekt zum Komprimieren.
|
private byte[] |
header
Header, der jedem Objekt vorangeht.
|
private int |
headerOffset
Anzahl Bytes die zusätzlich nach einem Reset vom Objektoutputstream vor jedes Objekt geschrieben werden.
|
private Inflater |
inflater
Objekt zum dekomprimieren.
|
private ObjectOutputStream |
oos
Führt die Serialisierung durch.
|
private byte[] |
uncompressedData
Bytefeld für dekomprimierte Daten.
|
Constructor and Description |
---|
SerializerUtil()
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
static Object |
deserialize(byte[] data)
Deserialisiert ein Objekt aus einem Byte-Array
|
static Object |
deserialize(String fileName)
Deserialisiert ein Objekt aus einer Datei.
|
static Long |
deserializeId(byte[] data)
Deserialisiert einen
long Wert aus einem Byte-Array |
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.
|
private static int |
readInt(byte[] ba) |
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-Array
|
void |
serializeIntoDataArray(Data.Array dest,
Serializable obj)
Serialisiert und komprimiert ein Objekt in ein Data-Feld.
|
static byte[] |
serializeToByteArray(Serializable obj)
Serialisiert ein Objekt in einen Byte-Array.
|
private static void |
writeInt(int input,
byte[] ba) |
private static final Debug debug
private static final int BUFFER_SIZE
static final int COMPRESSION_LEVEL
private Deflater def
private byte[] compressedData
private ByteArrayOutputStream bosStatic
private int headerOffset
private byte[] header
private ObjectOutputStream oos
private Inflater inflater
private byte[] uncompressedData
public SerializerUtil() throws FailureException
FailureException
- Fehler bei der Initialisierung.public void serializeIntoDataArray(Data.Array dest, Serializable obj) throws FailureException
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 Object deserializeZIP(byte[] compressedData) throws FailureException
compressedData
- Bytefeld mit komprimiertem und serialisiertem Objekt.FailureException
- Fehler beim dekomprimieren und deserialisieren.public void done()
protected void finalize() throws Throwable
done()
auf.finalize
in class Object
Throwable
Object.finalize()
public static byte[] serializeToByteArray(Serializable obj) throws FailureException
obj
- ObjektFailureException
- Objekt konnte nicht serialisiert werdenpublic static void serialize(String fileName, Serializable obj) throws FailureException
fileName
- Dateinameobj
- ObjektFailureException
- Falls es zu einem Fehler kommt.public static Object deserialize(String fileName)
fileName
- Dateinamepublic static Object deserialize(byte[] data)
data
- Serialisiertes Objekt.null
im Fehlerfall oder falls keine Daten zu deserialisieren waren.public static void insertArray(Data.Array dest, byte[] source, int length)
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
longValue
- Zu serialisierender Long-Wert.FailureException
- Objekt konnte nicht serialisiert werdenpublic static Long deserializeId(byte[] data)
long
Wert aus einem Byte-Arraydata
- Serialisierter long.null
im Fehlerfall.private static void writeInt(int input, byte[] ba)
private static int readInt(byte[] ba)