de.bsvrz.sys.funclib.dataSerializer
Class DeserializerImplementationA

java.lang.Object
  extended by de.bsvrz.sys.funclib.dataSerializer.DeserializerImplementationA
All Implemented Interfaces:
Deserializer

final class DeserializerImplementationA
extends Object
implements Deserializer

Implementierung eines Deserialisierers zum deserialisieren von Datensätzen. Die Klasse ist nicht öffentlich zugänglich. Ein Objekt dieser Klasse kann mit der Methode SerializingFactory.createDeserializer(java.io.InputStream)

Author:
Kappich Systemberatung

Field Summary
private static Debug _debug
          DebugLogger für Debug-Ausgaben
private  InputStream _inputStream
           
private  int _version
           
 
Constructor Summary
DeserializerImplementationA(int version, InputStream inputStream)
          Erzeugt ein neues Deserialisierungsobjekt mit der gewünschten Version.
 
Method Summary
 InputStream getInputStream()
          Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.
 int getVersion()
          Bestimmt die Version des konkreten Deserialisierers.
 boolean readBoolean()
          Liest und deserialisiert einen boolean-Wert vom Eingabe-Stream dieses Deserialisierers.
 byte readByte()
          Liest und deserialisiert einen byte-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 objectLookup)
          Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.
 void readData(Data data)
          Deserialisiert einen Datensatz aus dem Eingabe-Stream.
 void readData(Data data, ObjectLookup objectLookup)
          Deserialisiert einen Datensatz aus dem Eingabe-Stream.
 double readDouble()
          Liest und deserialisiert einen double-Wert vom Eingabe-Stream dieses Deserialisierers.
 float readFloat()
          Liest und deserialisiert einen float-Wert vom Eingabe-Stream dieses Deserialisierers.
 int readInt()
          Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers.
 long readLong()
          Liest und deserialisiert einen long-Wert vom Eingabe-Stream dieses Deserialisierers.
 SystemObject readObjectReference(ObjectLookup objectLookup)
          Liest und deserialisiert eine Referenz auf ein Systemobjekt vom Eingabe-Stream dieses Deserialisierers.
 short readShort()
          Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers.
 String readString()
          Liest und deserialisiert einen String-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.
 String readString(int maxLength)
          Liest und deserialisiert einen String-Wert mit einer vorgegebenen Maximal-Länge vom Eingabe-Stream dieses Deserialisierers.
 int readUnsignedByte()
          Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
 long readUnsignedInt()
          Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
 int readUnsignedShort()
          Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.
 void setInputStream(InputStream inputStream)
          Setzt den zu verwendenden Eingabe-Stream.
 String toString()
          Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_debug

private static final Debug _debug
DebugLogger für Debug-Ausgaben


_version

private final int _version

_inputStream

private InputStream _inputStream
Constructor Detail

DeserializerImplementationA

DeserializerImplementationA(int version,
                            InputStream inputStream)
                      throws RuntimeException
Erzeugt ein neues Deserialisierungsobjekt mit der gewünschten Version.

Parameters:
version - Gewünschte Version
inputStream - Eingabe-Stream, der beim deserialisieren zu verwenden ist.
Throws:
RuntimeException - Wenn die gewünschte Version nicht durch diese Klasse implementiert werden kann.
Method Detail

getInputStream

public InputStream getInputStream()
Bestimmt den bei der Deserialisierung zu verwendenden Eingabe-Stream.

Specified by:
getInputStream in interface Deserializer
Returns:
Bei der Deserialisierung zu verwendender Eingabe-Stream.

setInputStream

public void setInputStream(InputStream inputStream)
Setzt den zu verwendenden Eingabe-Stream.

Specified by:
setInputStream in interface Deserializer
Parameters:
inputStream - Zu verwendender Eingabe-Stream

getVersion

public int getVersion()
Bestimmt die Version des konkreten Deserialisierers.

Specified by:
getVersion in interface Deserializer
Returns:
Version des Deserialisierers.

readData

public void readData(Data data)
              throws EOFException,
                     IOException
Deserialisiert einen Datensatz aus dem Eingabe-Stream.

Specified by:
readData in interface Deserializer
Parameters:
data - Neuer Datensatz, der mit der AttributGruppe der erwarteten Daten initialisiert wurde.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
See Also:
ClientDavConnection.createData(de.bsvrz.dav.daf.main.config.AttributeGroup)

readData

public void readData(Data data,
                     ObjectLookup objectLookup)
              throws EOFException,
                     IOException
Deserialisiert einen Datensatz aus dem Eingabe-Stream.

Specified by:
readData in interface Deserializer
Parameters:
data - Neuer Datensatz, der mit der AttributGruppe der erwarteten Daten initialisiert wurde.
objectLookup - Wird für die Auflösung von Objektreferenzen benutzt.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
See Also:
ClientDavConnection.createData(de.bsvrz.dav.daf.main.config.AttributeGroup)

readByte

public byte readByte()
              throws EOFException,
                     IOException
Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readByte in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readData

public Data readData(AttributeGroup atg)
              throws EOFException,
                     IOException
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.

Specified by:
readData in interface Deserializer
Parameters:
atg - Attributgruppe des einzulesenden Datensatzes.
Returns:
Eingelesener Datensatz
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readData

public Data readData(AttributeGroup atg,
                     ObjectLookup objectLookup)
              throws EOFException,
                     IOException
Liest und deserialisiert einen Datensatz aus dem Eingabe-Stream dieses Deserialisierers.

Specified by:
readData in interface Deserializer
Parameters:
atg - Attributgruppe des einzulesenden Datensatzes.
objectLookup - Wird für die Auflösung von Objektreferenzen benutzt.
Returns:
Eingelesener Datensatz
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readBoolean

public boolean readBoolean()
                    throws EOFException,
                           IOException
Liest und deserialisiert einen boolean-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readBoolean in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesens erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readDouble

public double readDouble()
                  throws EOFException,
                         IOException
Liest und deserialisiert einen double-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readDouble in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readFloat

public float readFloat()
                throws EOFException,
                       IOException
Liest und deserialisiert einen float-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readFloat in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readInt

public int readInt()
            throws EOFException,
                   IOException
Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readInt in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readLong

public long readLong()
              throws EOFException,
                     IOException
Liest und deserialisiert einen long-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readLong in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readShort

public short readShort()
                throws EOFException,
                       IOException
Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readShort in interface Deserializer
Returns:
Der eingelesene Wert.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readString

public String readString()
                  throws EOFException,
                         IOException
Liest und deserialisiert einen String-Wert mit einer maximalen Länge von 65535 vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readString in interface Deserializer
Returns:
Der eingelesene String.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readString

public String readString(int maxLength)
                  throws EOFException,
                         IOException
Liest und deserialisiert einen String-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.

Specified by:
readString in interface Deserializer
Parameters:
maxLength - Maximale Länge des zu serialisierenden Strings oder 0 wenn keine Begrenzung vorgegeben werden kann.
Returns:
Der eingelesene String.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readObjectReference

public SystemObject readObjectReference(ObjectLookup objectLookup)
                                 throws EOFException,
                                        IOException
Liest und deserialisiert eine Referenz auf ein Systemobjekt vom Eingabe-Stream dieses Deserialisierers.

Specified by:
readObjectReference in interface Deserializer
Parameters:
objectLookup - Wird für die Auflösung von Objektreferenzen benutzt.
Returns:
Das referenzierte Systemobjekt oder null, wenn das referenzierte Objekt nicht bestimmt werden kann.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readUnsignedByte

public int readUnsignedByte()
                     throws EOFException,
                            IOException
Liest und deserialisiert einen byte-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.

Specified by:
readUnsignedByte in interface Deserializer
Returns:
Der eingelesene Wert als vorzeichenlose Zahl.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readUnsignedInt

public long readUnsignedInt()
                     throws EOFException,
                            IOException
Liest und deserialisiert einen int-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.

Specified by:
readUnsignedInt in interface Deserializer
Returns:
Der eingelesene Wert als vorzeichenlose Zahl.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readUnsignedShort

public int readUnsignedShort()
                      throws EOFException,
                             IOException
Liest und deserialisiert einen short-Wert vom Eingabe-Stream dieses Deserialisierers und interpretiert den Wert als vorzeichenlose Zahl.

Specified by:
readUnsignedShort in interface Deserializer
Returns:
Der eingelesene Wert als vorzeichenlose Zahl.
Throws:
EOFException - Wenn das Ende des Eingabe-Streams während des Lesen erkannt wurde.
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

toString

public String toString()
Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke.

Overrides:
toString in class Object
Returns:
Beschreibung dieses Objekts.

readBytes

public byte[] readBytes(int length)
                 throws IOException
Liest 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.

Specified by:
readBytes in interface Deserializer
Parameters:
length - Länge des einzulesenden Byte-Arrays
Returns:
Das eingelesene Byte-Array
Throws:
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.

readBytes

public void readBytes(byte[] buffer,
                      int offset,
                      int length)
               throws IOException
Liest 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.

Specified by:
readBytes in interface Deserializer
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:
IOException - Wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.