Klasse CombineDataIterator
java.lang.Object
de.bsvrz.ars.ars.persistence.iter.CombineDataIterator
- Alle implementierten Schnittstellen:
DataIterator
,AutoCloseable
- Bekannte direkte Unterklassen:
TimeSpecificationCombineDataIterator
Diese Klasse kombiniert mehrere parallel laufende
Iteratoren
um daraus einen einzelnen Iterator zu erstellen, der alle Daten enthält.
Die Daten werden dabei entweder anhand ihrer Datenzeit oder ihres Datenindex einsortiert.
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungCombineDataIterator
(Collection<DataSequence> containerSequences, de.bsvrz.dav.daf.main.archive.ArchiveOrder order) Konstruktor zum Kombinieren von mehrerenDataSequence
-Objekten -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
close()
Terminiert das iterieren.Gibt die Containerheaderdaten des Containers des aktuell betrachteten Datensatzes zurückde.bsvrz.dav.daf.main.archive.ArchiveOrder
getOrder()
Gibt die Sortierung zurückboolean
isEmpty()
Gibttrue
zurück, wenn der Iterator erschöpft ist.void
peek
(ContainerDataResult result) Kopiert die Daten des aktuellen Elements in das angegebene Result-Objekt.long
Ruft die aktuelle Archivzeit ab.long
Ruft den aktuellen Datenindex ab.long
Ruft die aktuelle Datenzeit ab.peekNext()
Gibt Daten des auf die gültige Sequenz folgenden Datensatzes zurück, damit kann dann unter anderem bestimmt werden, wie lange der Datensatz gültig ist.void
remove()
Entfernt/Überspringt das aktuelle Element.protected final void
Von Klasse geerbte Methoden java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Von Schnittstelle geerbte Methoden de.bsvrz.ars.ars.persistence.iter.DataIterator
poll
-
Konstruktordetails
-
CombineDataIterator
public CombineDataIterator(Collection<DataSequence> containerSequences, de.bsvrz.dav.daf.main.archive.ArchiveOrder order) throws PersistenceException, SynchronizationFailedException Konstruktor zum Kombinieren von mehrerenDataSequence
-Objekten- Parameter:
containerSequences
- Die Sequenzen der verschiedenen Datenartenorder
- Sortierung der Sequenzen- Löst aus:
PersistenceException
- Lesefehler im PersistenzverzeichnisSynchronizationFailedException
- Synchronisierung fehlgeschlagen
-
-
Methodendetails
-
peek
Beschreibung aus Schnittstelle kopiert:DataIterator
Kopiert die Daten des aktuellen Elements in das angegebene Result-Objekt. Dies ist eine Optimierung, damit nicht ständig neue Result-Objekt angelegt werden müssen.- Angegeben von:
peek
in SchnittstelleDataIterator
- Parameter:
result
- Ziel-Element- Löst aus:
PersistenceException
- Lesefehler im Persistenzverzeichnis
-
peekDataIndex
public long peekDataIndex()Beschreibung aus Schnittstelle kopiert:DataIterator
Ruft den aktuellen Datenindex ab. Entspricht
ist aber wahrscheinlich performanter.ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataIndex()
- Angegeben von:
peekDataIndex
in SchnittstelleDataIterator
- Gibt zurück:
- Datenindex des aktuellen Elements
-
peekDataTime
public long peekDataTime()Beschreibung aus Schnittstelle kopiert:DataIterator
Ruft die aktuelle Datenzeit ab. Entspricht
ist aber wahrscheinlich performanter.ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataTime()
- Angegeben von:
peekDataTime
in SchnittstelleDataIterator
- Gibt zurück:
- Datenzeit des aktuellen Elements
-
peekArchiveTime
public long peekArchiveTime()Beschreibung aus Schnittstelle kopiert:DataIterator
Ruft die aktuelle Archivzeit ab. Entspricht
ist aber wahrscheinlich performanter.ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getArchiveTime()
- Angegeben von:
peekArchiveTime
in SchnittstelleDataIterator
- Gibt zurück:
- Archivzeit des aktuellen Elements
-
remove
Beschreibung aus Schnittstelle kopiert:DataIterator
Entfernt/Überspringt das aktuelle Element. Der Container wird nicht modifiziert, nur der Iterator.- Angegeben von:
remove
in SchnittstelleDataIterator
- Löst aus:
PersistenceException
- Lesefehler im PersistenzverzeichnisSynchronizationFailedException
- Synchronisierung fehlgeschlagen
-
updateDelegate
protected final void updateDelegate() -
isEmpty
public boolean isEmpty()Beschreibung aus Schnittstelle kopiert:DataIterator
Gibttrue
zurück, wenn der Iterator erschöpft ist. Ist das der Fall liefern alle anderen Funktionen außer close()NoSuchElementException
s.- Angegeben von:
isEmpty
in SchnittstelleDataIterator
- Gibt zurück:
true
, wenn der Iterator erschöpft ist, sonstfalse
-
peekNext
Beschreibung aus Schnittstelle kopiert:DataIterator
Gibt Daten des auf die gültige Sequenz folgenden Datensatzes zurück, damit kann dann unter anderem bestimmt werden, wie lange der Datensatz gültig ist. Diese Methode darf nur aufgerufen werden, wennDataIterator.isEmpty()
true zurückliefert.- Angegeben von:
peekNext
in SchnittstelleDataIterator
- Gibt zurück:
- Ziel-Element oder null, falls es keinen nächsten Datensatz gibt
- Löst aus:
PersistenceException
- Lesefehler im PersistenzverzeichnisSynchronizationFailedException
- Synchronisierung fehlgeschlagen
-
close
public void close()Beschreibung aus Schnittstelle kopiert:DataIterator
Terminiert das iterieren. Hierdurch werden alle ggf. noch offenen Containerdateien geschlossen.- Angegeben von:
close
in SchnittstelleAutoCloseable
- Angegeben von:
close
in SchnittstelleDataIterator
-
getContainerManagementData
Beschreibung aus Schnittstelle kopiert:DataIterator
Gibt die Containerheaderdaten des Containers des aktuell betrachteten Datensatzes zurück- Angegeben von:
getContainerManagementData
in SchnittstelleDataIterator
- Gibt zurück:
- ContainerManagementData
- Löst aus:
PersistenceException
- Lesefehler im Persistenzverzeichnis
-
getOrder
public de.bsvrz.dav.daf.main.archive.ArchiveOrder getOrder()Gibt die Sortierung zurück- Gibt zurück:
- die Sortierung
-