public final class SerializingFactory
extends java.lang.Object
Factory-Klasse zum Erzeugen von Objekten zur Serialisierung und Deserialisierung von Datensätzen. Es werden mehrere verschiedene Versionen von Serialisierung und Deserialisierung unterstützt. Dies ist vorgesehen, um nach Änderungen der Serialisierung eine reibungslose Migration der Software und des eventuell persistent gehaltenen Datenbestandes zu ermöglichen. Dies ist im Falle des Deserialisierens insbesondere dann wichtig, wenn Daten, die mit einer alten Version serialisiert wurden, wieder deserialisiert werden sollen. Im Falle des Serialisierens ist die Unterstützung von mehreren Versionen insbesondere auch dann wichtig, wenn mit einem Softwareupdate nicht notwendigerweise auch die Software aktualisiert wird, die die Daten wieder deserialisert.
Daten, die mit Serializer
einer bestimmten Version serialisiert wurden, können mit einem Deserialisierer
der gleichen Version wieder deserialisiert werden.
Mit den Klassen-Methoden createSerializer(java.io.OutputStream)
und createDeserializer(java.io.InputStream)
können Objekte zur Serialisierung bzw. zur Deserialisierung erzeugt werden.
Eine bestimmte Version der Serialisierung kann über einen entsprechenden Parameter beim Aufruf der createSerializer(int,OutputStream)
Methode angefordert werden. Die createSerializer(OutputStream)
Methode ohne Versions-Parameter liefert einen Serialisierer in der aktuellen Standardversion zurück (dies muss nicht zwangsweise die neueste Version sein).
Eine bestimmte Version der Deserialisierung kann über einen entsprechenden Parameter beim Aufruf der createDeserializer(int, InputStream)
Methode angefordert werden. Die createDeserializer(InputStream)
Methode ohne Versions-Parameter liefert einen Deserialisierer in der aktuellen Standardversion zurück (dies muss nicht zwangsweise die neueste Version sein).
Modifier and Type | Field and Description |
---|---|
private static int |
DEFAULT_VERSION |
Modifier | Constructor and Description |
---|---|
private |
SerializingFactory()
Konstruktur ist nicht öffenlich, weil keine Objekte der Klasse benötigt werden.
|
Modifier and Type | Method and Description |
---|---|
static Deserializer |
createDeserializer(java.io.InputStream inputStream)
Erzeugt einen Deserialisierer in der aktuellen Standardversion.
|
static Deserializer |
createDeserializer(int version,
java.io.InputStream inputStream)
Erzeugt einen Deserialisierer einer bestimmten Version.
|
static Serializer |
createSerializer(int version,
java.io.OutputStream outputStream)
Erzeugt einen Serialisierer einer bestimmten Version.
|
static Serializer |
createSerializer(java.io.OutputStream outputStream)
Erzeugt einen Serialisierer in der aktuellen Standardversion.
|
static int |
getDefaultVersion()
Gibt die default-Version des Serializers zurück
|
private static final int DEFAULT_VERSION
private SerializingFactory()
Konstruktur ist nicht öffenlich, weil keine Objekte der Klasse benötigt werden.
public static Serializer createSerializer(java.io.OutputStream outputStream)
Erzeugt einen Serialisierer in der aktuellen Standardversion.
outputStream
- Ausgabe-Stream auf den der zu erzeugende Serialisierer ausgeben soll.public static Serializer createSerializer(int version, java.io.OutputStream outputStream) throws NoSuchVersionException
Erzeugt einen Serialisierer einer bestimmten Version.
version
- Gewünschte Version des Serialisierers.outputStream
- Ausgabe-Stream auf den der zu erzeugende Serialisierer ausgeben soll.NoSuchVersionException
- Wenn die gewünschte Version des Serialisierers nicht verfügbar ist.public static int getDefaultVersion()
Gibt die default-Version des Serializers zurück
public static Deserializer createDeserializer(java.io.InputStream inputStream)
Erzeugt einen Deserialisierer in der aktuellen Standardversion.
inputStream
- Eingabe-Stream von dem der zu erzeugende Deserialisierer einlesen soll.public static Deserializer createDeserializer(int version, java.io.InputStream inputStream) throws NoSuchVersionException
Erzeugt einen Deserialisierer einer bestimmten Version.
version
- Gewünschte Version des Deserialisierers.inputStream
- Eingabe-Stream von dem der zu erzeugende Deserialisierer einlesen soll.NoSuchVersionException
- Wenn die gewünschte Version des Deserialisierers nicht verfügbar ist.