private static class ArchiveStreamCombiner.RelativeCombinedStream extends Object implements ArchiveDataStream
| Modifier and Type | Field and Description |
|---|---|
private ArrayDeque<ArchiveData> |
_buffer |
private Exception |
_exception |
private ArchiveDataSpecification |
_spec |
| Constructor and Description |
|---|
ArchiveStreamCombiner.RelativeCombinedStream(ArchiveDataStream[] streamsToCombine,
ArchiveDataSpecification spec) |
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Bricht die Übertragung von Datensätzen für diesen Ergebnisdatenstrom ab.
|
ArchiveDataSpecification |
getDataSpecification()
Bestimmt die Archivdatenspezifikation, die zu diesem Ergebnisdatenstrom geführt hat.
|
private static boolean |
shouldCount(ArchiveData aData)
Gibt zurück ob ein Datensatz bei Relativanfragen mitgezählt werden soll oder nicht.
|
ArchiveData |
take()
Entfernt einen Datensatz vom Ergebnisdatenstrom und gibt ihn zurück.
|
private final ArchiveDataSpecification _spec
private Exception _exception
private final ArrayDeque<ArchiveData> _buffer
public ArchiveStreamCombiner.RelativeCombinedStream(ArchiveDataStream[] streamsToCombine, ArchiveDataSpecification spec)
private static boolean shouldCount(ArchiveData aData)
aData - Datumpublic ArchiveDataSpecification getDataSpecification()
ArchiveDataStreamgetDataSpecification in interface ArchiveDataStreampublic ArchiveData take() throws InterruptedException, IOException, IllegalStateException
ArchiveDataStreamnull signalisiert werden.take in interface ArchiveDataStreamnull, wenn alle Datensätze dieses Ergeebnisdatenstroms
abgefragt wurden.InterruptedException - Falls der aufrufende Thread unterbrochen wurde, während auf den nächsten Datensatz
gewartet wurde.IOException - Falls Probleme in der Kommunikation mit dem Archivsystem aufgetreten sind und noch
nicht alle Datensätze übertragen wurden.IllegalStateException - Falls der Ergebnisdatenstrom mit der Methode ArchiveDataStream.abort() abgebrochen wurde.public void abort()
ArchiveDataStreamArchiveDataStream.take() werden mit einer entsprechenden Exception quittiert.abort in interface ArchiveDataStream