private static class ArchiveStreamCombiner.CombinedStream extends java.lang.Object implements ArchiveDataStream
Modifier and Type | Field and Description |
---|---|
private int |
_currentIndex |
private ArchiveDataSpecification |
_spec |
private ArchiveDataStream[] |
_streamsToCombine |
private boolean |
hasSendData |
Constructor and Description |
---|
CombinedStream(ArchiveDataStream[] streamsToCombine,
ArchiveDataSpecification spec) |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Bricht die Übertragung von Datensätzen für diesen Ergebnisdatenstrom ab.
|
private ArchiveDataStream |
current() |
ArchiveDataSpecification |
getDataSpecification()
Bestimmt die Archivdatenspezifikation, die zu diesem Ergebnisdatenstrom geführt hat.
|
ArchiveData |
take()
Entfernt einen Datensatz vom Ergebnisdatenstrom und gibt ihn zurück.
|
private ArchiveDataStream[] _streamsToCombine
private ArchiveDataSpecification _spec
private int _currentIndex
private boolean hasSendData
public CombinedStream(ArchiveDataStream[] streamsToCombine, ArchiveDataSpecification spec)
public ArchiveDataSpecification getDataSpecification()
ArchiveDataStream
Bestimmt die Archivdatenspezifikation, die zu diesem Ergebnisdatenstrom geführt hat.
getDataSpecification
in interface ArchiveDataStream
private ArchiveDataStream current()
public ArchiveData take() throws java.lang.InterruptedException, java.io.IOException, java.lang.IllegalStateException
ArchiveDataStream
Entfernt einen Datensatz vom Ergebnisdatenstrom und gibt ihn zurück. Diese Methode wird von einer Applikation aufgerufen um die vom Archivsystem auf diesem Ergebnisdatenstrom zur Verfügung gestellten Datensätze abzurufen. Die einzelnen Datensätze werden mit wiederholten Aufrufen dieser Methode sukzessiv in der gleichen Reihenfolge wie sie im Archivsystem erzeugt werden zur Verfügung gestellt. Sind alle Datensätze so übergeben worden, dann muss dies durch Rückgabe von null
signalisiert werden.
take
in interface ArchiveDataStream
null
, wenn alle Datensätze dieses Ergeebnisdatenstroms abgefragt wurden.java.lang.InterruptedException
- Falls der aufrufende Thread unterbrochen wurde, während auf den nächsten Datensatz gewartet wurde.java.io.IOException
- Falls Probleme in der Kommunikation mit dem Archivsystem aufgetreten sind und noch nicht alle Datensätze übertragen wurden.java.lang.IllegalStateException
- Falls der Ergebnisdatenstrom mit der Methode ArchiveDataStream.abort()
abgebrochen wurde.public void abort()
ArchiveDataStream
Bricht die Übertragung von Datensätzen für diesen Ergebnisdatenstrom ab. Diese Methode kann von einer Applikation aufgerufen werden, um zu signalisieren, dass keine weiteren Datensätze mehr von diesem Ergebnisdatenstrom benötigt werden. Anschließende Aufrufe der Methode ArchiveDataStream.take()
werden mit einer entsprechenden Exception quittiert.
abort
in interface ArchiveDataStream