public class SequentialContainerIterator extends java.lang.Object implements DataIterator
TBD Dokumentation
| Modifier and Type | Field and Description |
|---|---|
private ArchiveDataKind |
_adk |
private ArchiveManager |
_archiveManager |
private java.util.List<QueryDataSequence.IndexedContainer> |
_containerFiles |
private DataIterator |
_dataIterator |
private DeletedTreatment |
_deletedTreatment |
private IdDataIdentification |
_did |
private int |
_index |
private Task |
_task |
| Constructor and Description |
|---|
SequentialContainerIterator(ArchiveManager archiveManager,
java.util.List<QueryDataSequence.IndexedContainer> containerFiles,
IdDataIdentification did,
ArchiveDataKind adk,
DeletedTreatment deletedTreatment,
Task task) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Terminiert das iterieren.
|
private void |
closeContainer(int index) |
private static long |
getContainerFileIdx(ArchiveDataKind dataKind,
long containerId)
Eindeutiger ContainerFile-Index für Persistenz-Zugriff.
|
long |
getCurContFileIdx() |
boolean |
isEmpty()
Gibt true zurück, wenn der Iterator erschöpft ist.
|
private void |
openContainer(int index) |
void |
peek(ContainerDataResult result)
Kopiert die Daten des aktuellen Elements in das angegebene Result-Objekt.
|
long |
peekArchiveTime()
Ruft die aktuelle Archivzeit ab.
|
long |
peekDataIndex()
Ruft den aktuellen Datenindex ab.
|
long |
peekDataTime()
Ruft die aktuelle Datenzeit ab.
|
void |
remove()
Entfernt das aktuelle Element.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitempty, pollprivate final java.util.List<QueryDataSequence.IndexedContainer> _containerFiles
private final ArchiveManager _archiveManager
private DataIterator _dataIterator
private IdDataIdentification _did
private final DeletedTreatment _deletedTreatment
private Task _task
private int _index
private ArchiveDataKind _adk
public SequentialContainerIterator(ArchiveManager archiveManager, java.util.List<QueryDataSequence.IndexedContainer> containerFiles, IdDataIdentification did, ArchiveDataKind adk, DeletedTreatment deletedTreatment, Task task) throws PersistenceException
PersistenceExceptionprivate static long getContainerFileIdx(ArchiveDataKind dataKind, long containerId)
Eindeutiger ContainerFile-Index für Persistenz-Zugriff.
private void openContainer(int index)
throws PersistenceException
PersistenceExceptionprivate void closeContainer(int index)
throws PersistenceException
PersistenceExceptionpublic void peek(ContainerDataResult result) throws PersistenceException
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.
peek in interface DataIteratorresult - Ziel-ElementPersistenceExceptionpublic long peekDataIndex()
DataIteratorRuft den aktuellen Datenindex ab. Entspricht ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataIndex()
ist aber wahrscheinlich performanter.
peekDataIndex in interface DataIteratorpublic long peekDataTime()
DataIteratorRuft die aktuelle Datenzeit ab. Entspricht ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataTime()
ist aber wahrscheinlich performanter.
peekDataTime in interface DataIteratorpublic long peekArchiveTime()
DataIteratorRuft die aktuelle Archivzeit ab. Entspricht ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getArchiveTime()
ist aber wahrscheinlich performanter.
peekArchiveTime in interface DataIteratorpublic void remove()
throws PersistenceException
DataIteratorEntfernt das aktuelle Element.
remove in interface DataIteratorPersistenceExceptionpublic boolean isEmpty()
DataIteratorGibt true zurück, wenn der Iterator erschöpft ist. Ist das der Fall liefern alle anderen Funktionen außer close() NoSuchElementExceptions.
isEmpty in interface DataIteratorpublic void close()
throws PersistenceException
DataIteratorTerminiert das iterieren. Hierdurch werden alle ggf. noch offenen Containerdateien geschlossen.
close in interface DataIteratorclose in interface java.lang.AutoCloseablePersistenceExceptionpublic long getCurContFileIdx()
getCurContFileIdx in interface DataIterator