Class TimeSpecificationCombineDataIterator
java.lang.Object
de.bsvrz.ars.ars.persistence.iter.CombineDataIterator
de.bsvrz.ars.ars.persistence.iter.TimeSpecificationCombineDataIterator
- All Implemented Interfaces:
DataIterator,AutoCloseable
Diese Klasse entspricht einem
CombineDataIterator und bekommt im Konstruktor als zusätzliches Argument einen Zeitbereich.
Diese Klasse filtert alle Datensätze heraus, die nicht im Zeitbereich liegen (außer ggf. den ersten Datensatz vor dem Zeitbereich, der noch im Zeitbereich gültig ist).-
Constructor Summary
ConstructorsConstructorDescriptionTimeSpecificationCombineDataIterator(Collection<DataSequence> containerSequences, de.bsvrz.dav.daf.main.archive.ArchiveOrder order, de.bsvrz.dav.daf.main.archive.ArchiveTimeSpecification timeSpecification) Erstellt eine neue Instanz -
Method Summary
Modifier and TypeMethodDescriptionGibt die Containerheaderdaten des Containers des aktuell betrachteten Datensatzes zurückbooleanisEmpty()Gibttruezurück, wenn der Iterator erschöpft ist.voidpeek(ContainerDataResult result) Kopiert die Daten des aktuellen Elements in das angegebene Result-Objekt.longRuft die aktuelle Archivzeit ab.longRuft den aktuellen Datenindex ab.longRuft 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.voidremove()Entfernt/Überspringt das aktuelle Element.Methods inherited from class de.bsvrz.ars.ars.persistence.iter.CombineDataIterator
close, getOrder, updateDelegateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.bsvrz.ars.ars.persistence.iter.DataIterator
poll
-
Constructor Details
-
TimeSpecificationCombineDataIterator
public TimeSpecificationCombineDataIterator(Collection<DataSequence> containerSequences, de.bsvrz.dav.daf.main.archive.ArchiveOrder order, de.bsvrz.dav.daf.main.archive.ArchiveTimeSpecification timeSpecification) throws PersistenceException, SynchronizationFailedException Erstellt eine neue Instanz- Parameters:
containerSequences- Die untergeordneten Sequenzen, eine pro Datenartorder- SortierungtimeSpecification- Zeitbereich- Throws:
PersistenceException- Lesefehler im PersistenzverzeichnisSynchronizationFailedException- Synchronisierung fehlgeschlagen
-
-
Method Details
-
peekNext
Description copied from interface:DataIteratorGibt 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.- Specified by:
peekNextin interfaceDataIterator- Overrides:
peekNextin classCombineDataIterator- Returns:
- Ziel-Element oder null, falls es keinen nächsten Datensatz gibt
- Throws:
PersistenceException- Lesefehler im PersistenzverzeichnisSynchronizationFailedException- Synchronisierung fehlgeschlagen
-
peek
Description copied from interface:DataIteratorKopiert 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.- Specified by:
peekin interfaceDataIterator- Overrides:
peekin classCombineDataIterator- Parameters:
result- Ziel-Element- Throws:
PersistenceException- Lesefehler im Persistenzverzeichnis
-
peekDataIndex
public long peekDataIndex()Description copied from interface:DataIteratorRuft den aktuellen Datenindex ab. Entspricht
ist aber wahrscheinlich performanter.ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataIndex()- Specified by:
peekDataIndexin interfaceDataIterator- Overrides:
peekDataIndexin classCombineDataIterator- Returns:
- Datenindex des aktuellen Elements
-
peekDataTime
public long peekDataTime()Description copied from interface:DataIteratorRuft die aktuelle Datenzeit ab. Entspricht
ist aber wahrscheinlich performanter.ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataTime()- Specified by:
peekDataTimein interfaceDataIterator- Overrides:
peekDataTimein classCombineDataIterator- Returns:
- Datenzeit des aktuellen Elements
-
peekArchiveTime
public long peekArchiveTime()Description copied from interface:DataIteratorRuft die aktuelle Archivzeit ab. Entspricht
ist aber wahrscheinlich performanter.ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getArchiveTime()- Specified by:
peekArchiveTimein interfaceDataIterator- Overrides:
peekArchiveTimein classCombineDataIterator- Returns:
- Archivzeit des aktuellen Elements
-
remove
Description copied from interface:DataIteratorEntfernt/Überspringt das aktuelle Element. Der Container wird nicht modifiziert, nur der Iterator.- Specified by:
removein interfaceDataIterator- Overrides:
removein classCombineDataIterator- Throws:
PersistenceException- Lesefehler im PersistenzverzeichnisSynchronizationFailedException- Synchronisierung fehlgeschlagen
-
isEmpty
public boolean isEmpty()Description copied from interface:DataIteratorGibttruezurück, wenn der Iterator erschöpft ist. Ist das der Fall liefern alle anderen Funktionen außer close()NoSuchElementExceptions.- Specified by:
isEmptyin interfaceDataIterator- Overrides:
isEmptyin classCombineDataIterator- Returns:
true, wenn der Iterator erschöpft ist, sonstfalse
-
getContainerManagementData
Description copied from interface:DataIteratorGibt die Containerheaderdaten des Containers des aktuell betrachteten Datensatzes zurück- Specified by:
getContainerManagementDatain interfaceDataIterator- Overrides:
getContainerManagementDatain classCombineDataIterator- Returns:
- ContainerManagementData
- Throws:
PersistenceException- Lesefehler im Persistenzverzeichnis
-