de.bsvrz.dav.daf.main.archive
Interface ArchiveDataStream

All Known Implementing Classes:
DataStream

public interface ArchiveDataStream

Schnittstelle zum Zugriff auf einen einzelnen Ergebnisdatenstrom einer Archivanfrage. Über die hier definierten Methoden können die Datensätze dieses Archivdatenstroms abgefragt werden, es kann signalisiert werden, dass keine weiteren Datensätze benötigt werden und es kann die mit diesem Ergebnisdatenstrom korrespondierende Archivdatenspezifikation, die in der Archivanfrage angegeben wurde, abgefragt werden. Die einzelnen zu einer Archivanfrage gehörenden Ergebnisdatenströme können über die Methode ArchiveDataQueryResult.getStreams() abgefragt werden.

Author:
Kappich Systemberatung
See Also:
ArchiveRequestManager.request(ArchiveQueryPriority,ArchiveDataSpecification), ArchiveRequestManager.request(ArchiveQueryPriority, java.util.List), ArchiveDataQueryResult.getStreams()

Method Summary
 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.
 ArchiveData take()
          Entfernt einen Datensatz vom Ergebnisdatenstrom und gibt ihn zurück.
 

Method Detail

getDataSpecification

ArchiveDataSpecification getDataSpecification()
Bestimmt die Archivdatenspezifikation, die zu diesem Ergebnisdatenstrom geführt hat.

Returns:
Archivdatenspezifikation, die zu diesem Ergebnisdatenstrom geführt hat.

take

ArchiveData take()
                 throws InterruptedException,
                        IOException,
                        IllegalStateException
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.

Returns:
Der nächste Archivdatensatz oder null, wenn alle Datensätze dieses Ergeebnisdatenstroms abgefragt wurden.
Throws:
IllegalStateException - Falls der Ergebnisdatenstrom mit der Methode abort() abgebrochen wurde.
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.

abort

void abort()
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 take() werden mit einer entsprechenden Exception quittiert.