Interface Deserializer
-
public interface DeserializerSchnittstelle zum Deserialisieren von Datensätzen. Konkrete Objekte zum Deserialisieren können mit den verschiedenen Methoden der KlasseSerializingFactoryerzeugt werden. Dabei kann der Eingabe-Stream für die Deserialisierung vorgegeben werden.Mit den verschiedenen
read-Methoden können primitive Datentypen, Referenzen aufSystem-Objekteund ganzeDatensätzevon einemInputStreameingelesen und deserialisiert werden.Über die
getVersion()Methode kann die Version eines konkreten Deserialisieres abgefragt werden.- See Also:
Serializer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.io.InputStreamgetInputStream()Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.intgetVersion()Bestimmt die Version des konkreten Deserialisierers.booleanreadBoolean()Liest und deserialisiert einenboolean-Wert vom Eingabe-Strom dieses Deserialisierers.bytereadByte()Liest und deserialisiert einenbyte-Wert vom Eingabe-Stream dieses Deserialisierers.voidreadBytes(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.DatareadData(AttributeGroup atg)Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.DatareadData(AttributeGroup atg, ObjectLookup dataModel)Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.voidreadData(Data data)Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.voidreadData(Data data, ObjectLookup dataModel)Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.doublereadDouble()Liest und deserialisiert einendouble-Wert vom Eingabe-Stream dieses Deserialisierers.floatreadFloat()Liest und deserialisiert einenfloat-Wert vom Eingabe-Stream dieses Deserialisierers.intreadInt()Liest und deserialisiert einenint-Wert vom Eingabe-Stream dieses Deserialisierers.longreadLong()Liest und deserialisiert einenlong-Wert vom Eingabe-Stream dieses Deserialisierers.SystemObjectreadObjectReference(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.shortreadShort()Liest und deserialisiert einenshort-Wert vom Eingabe-Stream dieses Deserialisierers.java.lang.StringreadString()Liest und deserialisiert einenString-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.java.lang.StringreadString(int maxLength)Liest und deserialisiert einenString-Wert mit einer vorgegebenen Maximal-Länge vom Eingabe-Stream dieses Deserialisierers.intreadUnsignedByte()Liest und deserialisiert einenbyte-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.longreadUnsignedInt()Liest und deserialisiert einenint-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.intreadUnsignedShort()Liest und deserialisiert einenshort-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.voidsetInputStream(java.io.InputStream inputStream)Setzt den zu verwendenden Eingabe-Stream.
-
-
-
Method Detail
-
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
void readData(Data data) throws java.io.IOException
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
Data readData(AttributeGroup atg) throws java.io.IOException
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
void readData(Data data, ObjectLookup dataModel) throws java.io.IOException
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
Data readData(AttributeGroup atg, ObjectLookup dataModel) throws java.io.IOException
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
SystemObject readObjectReference(ObjectLookup dataModel) throws java.io.IOException
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.IOException
Liest 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 oder0wenn 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.
-
-