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()
ArchiveDataStreamBestimmt die Archivdatenspezifikation, die zu diesem Ergebnisdatenstrom geführt hat.
getDataSpecification in interface ArchiveDataStreamprivate ArchiveDataStream current()
public ArchiveData take() throws java.lang.InterruptedException, java.io.IOException, java.lang.IllegalStateException
ArchiveDataStreamEntfernt 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 ArchiveDataStreamnull, 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()
ArchiveDataStreamBricht 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