Interface Deserializer
public interface Deserializer
Schnittstelle zum Deserialisieren von Datensätzen. Konkrete Objekte zum Deserialisieren können mit den verschiedenen Methoden der Klasse
SerializingFactory
erzeugt werden. Dabei kann der Eingabe-Stream für die Deserialisierung vorgegeben werden.
Mit den verschiedenen read
-Methoden können primitive Datentypen, Referenzen auf System-Objekte
und ganze Datensätze
von einem InputStream
eingelesen und deserialisiert werden.
Über die getVersion()
Methode kann die Version eines konkreten Deserialisieres abgefragt werden.
- See Also:
Serializer
-
Method Summary
Modifier and Type Method Description java.io.InputStream
getInputStream()
Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.int
getVersion()
Bestimmt die Version des konkreten Deserialisierers.boolean
readBoolean()
Liest und deserialisiert einenboolean
-Wert vom Eingabe-Strom dieses Deserialisierers.byte
readByte()
Liest und deserialisiert einenbyte
-Wert vom Eingabe-Stream dieses Deserialisierers.void
readBytes(byte[] buffer, int offset, int length)
Liest eine vorgegebene Anzahl von Bytes vom Eingabe-Stream dieses Deserialisierers ein und speichert diese an einem vorgegebenen Offset in ein vorhandenes Byte-Array.byte[]
readBytes(int length)
Liest ein Byte-Array mit vorgegebener Länge vom Eingabe-Stream dieses Deserialisierers.Data
readData(AttributeGroup atg)
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.Data
readData(AttributeGroup atg, ObjectLookup dataModel)
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.void
readData(Data data)
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.void
readData(Data data, ObjectLookup dataModel)
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.double
readDouble()
Liest und deserialisiert einendouble
-Wert vom Eingabe-Stream dieses Deserialisierers.float
readFloat()
Liest und deserialisiert einenfloat
-Wert vom Eingabe-Stream dieses Deserialisierers.int
readInt()
Liest und deserialisiert einenint
-Wert vom Eingabe-Stream dieses Deserialisierers.long
readLong()
Liest und deserialisiert einenlong
-Wert vom Eingabe-Stream dieses Deserialisierers.SystemObject
readObjectReference(ObjectLookup dataModel)
Liest und deserialisiert eine Referenz auf ein Systemobjekt vom Eingabe-Stream dieses Deserialisierers.default java.util.List<SystemObject>
readObjectReferences(DataModel dataModel)
Liest mehrere Objektreferenzen vom Eingabe-Stream dieses Deserialisierers.short
readShort()
Liest und deserialisiert einenshort
-Wert vom Eingabe-Stream dieses Deserialisierers.java.lang.String
readString()
Liest und deserialisiert einenString
-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.java.lang.String
readString(int maxLength)
Liest und deserialisiert einenString
-Wert mit einer vorgegebenen Maximal-Länge vom Eingabe-Stream dieses Deserialisierers.int
readUnsignedByte()
Liest und deserialisiert einenbyte
-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.long
readUnsignedInt()
Liest und deserialisiert einenint
-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.int
readUnsignedShort()
Liest und deserialisiert einenshort
-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.void
setInputStream(java.io.InputStream inputStream)
Setzt den zu verwendenden Eingabe-Stream.
-
Method Details
-
getVersion
int getVersion()Bestimmt die Version des konkreten Deserialisierers.- Returns:
- Version des Deserialisierers.
-
getInputStream
java.io.InputStream getInputStream()Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.- Returns:
- Bei der Deserialisierung zu verwendender Eingabe-Stream.
-
setInputStream
void setInputStream(java.io.InputStream inputStream)Setzt den zu verwendenden Eingabe-Stream.- Parameters:
inputStream
- Zu verwendender InputStream
-
readData
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.- Parameters:
data
- Neuer Datensatz, der mit der Attributgruppe der erwarteten Daten initialisiert wurde.- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.- See Also:
ClientDavConnection.createData(de.bsvrz.dav.daf.main.config.AttributeGroup)
-
readData
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.- Parameters:
atg
- Attributgruppe des einzulesenden Datensatzes.- Returns:
- Eingelesener Datensatz
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readData
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.- Parameters:
data
- Neuer Datensatz, der mit der Attributgruppe der erwarteten Daten initialisiert wurde.dataModel
- Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.- See Also:
ClientDavConnection.createData(de.bsvrz.dav.daf.main.config.AttributeGroup)
-
readData
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.- Parameters:
atg
- Attributgruppe des einzulesenden Datensatzes.dataModel
- Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.- Returns:
- Eingelesener Datensatz
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readBoolean
boolean readBoolean() throws java.io.IOExceptionLiest und deserialisiert einenboolean
-Wert vom Eingabe-Strom dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readObjectReference
Liest und deserialisiert eine Referenz auf ein Systemobjekt vom Eingabe-Stream dieses Deserialisierers.- Parameters:
dataModel
- Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.- Returns:
- Das referenzierte Systemobjekt oder
null
, wenn das referenzierte Objekt nicht bestimmt werden kann. - Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readObjectReferences
default java.util.List<SystemObject> readObjectReferences(DataModel dataModel) throws java.io.IOExceptionLiest mehrere Objektreferenzen vom Eingabe-Stream dieses Deserialisierers. Diese Methode liefert das gleiche Resultat wiesize = readInt()
gefolgt von *size* Aufrufen von
readObjectReference().
- Parameters:
dataModel
- Datenmodell mit dessen Hilfe Objektreferenzen aufgelöst werden.- Returns:
- Arrays von referenzierten Systemobjekten (ggf. mit null-Elementen wenn ein Objekt nicht aufgelöst werden konnte)
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readByte
byte readByte() throws java.io.IOExceptionLiest und deserialisiert einenbyte
-Wert vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readUnsignedByte
int readUnsignedByte() throws java.io.IOExceptionLiest und deserialisiert einenbyte
-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.- Returns:
- Der eingelesene Wert als vorzeichenlose Zahl.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readShort
short readShort() throws java.io.IOExceptionLiest und deserialisiert einenshort
-Wert vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readUnsignedShort
int readUnsignedShort() throws java.io.IOExceptionLiest und deserialisiert einenshort
-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.- Returns:
- Der eingelesene Wert als vorzeichenlose Zahl.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readInt
int readInt() throws java.io.IOExceptionLiest und deserialisiert einenint
-Wert vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readUnsignedInt
long readUnsignedInt() throws java.io.IOExceptionLiest und deserialisiert einenint
-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.- Returns:
- Der eingelesene Wert als vorzeichenlose Zahl.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readLong
long readLong() throws java.io.IOExceptionLiest und deserialisiert einenlong
-Wert vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readFloat
float readFloat() throws java.io.IOExceptionLiest und deserialisiert einenfloat
-Wert vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readDouble
double readDouble() throws java.io.IOExceptionLiest und deserialisiert einendouble
-Wert vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene Wert.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readString
java.lang.String readString() throws java.io.IOExceptionLiest und deserialisiert einenString
-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.- Returns:
- Der eingelesene String.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readString
java.lang.String readString(int maxLength) throws java.io.IOExceptionLiest und deserialisiert einenString
-Wert mit einer vorgegebenen Maximal-Länge vom Eingabe-Stream dieses Deserialisierers. Es ist zu beachten, dass beim Deserialiseren die gleiche Maximalgröße wie beim Serialisieren angegeben wird.- Parameters:
maxLength
- Maximale Länge des einzulesenden Strings oder0
wenn keine Begrenzung vorgegeben werden kann.- Returns:
- Der eingelesene String.
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readBytes
byte[] readBytes(int length) throws java.io.IOExceptionLiest ein Byte-Array mit vorgegebener Länge vom Eingabe-Stream dieses Deserialisierers. Es ist zu beachten, das als Länge exakt die Größe des entsprechenden serialisierten Arrays angegeben werden muss.- Parameters:
length
- Länge des einzulesenden Byte-Arrays- Returns:
- Das eingelesene Byte-Array
- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-
readBytes
void readBytes(byte[] buffer, int offset, int length) throws java.io.IOExceptionLiest eine vorgegebene Anzahl von Bytes vom Eingabe-Stream dieses Deserialisierers ein und speichert diese an einem vorgegebenen Offset in ein vorhandenes Byte-Array. Es ist zu beachten, das als Länge exakt die Größe des entsprechenden serialisierten Arrays angegeben werden muss.- Parameters:
buffer
- Byte-Array in das die eingelesenen Bytes gespeichert werden sollen.offset
- Startposition im Byte-Array ab der die eingelesenen Bytes gespeichert werden sollen.length
- Anzahl der einzulesenden Bytes- Throws:
java.io.IOException
- Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
-