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, wait
empty, poll
private 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
PersistenceException
private static long getContainerFileIdx(ArchiveDataKind dataKind, long containerId)
Eindeutiger ContainerFile-Index für Persistenz-Zugriff.
private void openContainer(int index) throws PersistenceException
PersistenceException
private void closeContainer(int index) throws PersistenceException
PersistenceException
public void peek(ContainerDataResult result) throws PersistenceException
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.
peek
in interface DataIterator
result
- Ziel-ElementPersistenceException
public long peekDataIndex()
DataIterator
Ruft den aktuellen Datenindex ab. Entspricht ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataIndex()
ist aber wahrscheinlich performanter.
peekDataIndex
in interface DataIterator
public long peekDataTime()
DataIterator
Ruft die aktuelle Datenzeit ab. Entspricht ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getDataTime()
ist aber wahrscheinlich performanter.
peekDataTime
in interface DataIterator
public long peekArchiveTime()
DataIterator
Ruft die aktuelle Archivzeit ab. Entspricht ContainerDataResult result = new ContainerDataResult() this.peek(result) return result.getArchiveTime()
ist aber wahrscheinlich performanter.
peekArchiveTime
in interface DataIterator
public void remove() throws PersistenceException
DataIterator
Entfernt das aktuelle Element.
remove
in interface DataIterator
PersistenceException
public boolean isEmpty()
DataIterator
Gibt true zurück, wenn der Iterator erschöpft ist. Ist das der Fall liefern alle anderen Funktionen außer close() NoSuchElementException
s.
isEmpty
in interface DataIterator
public void close() throws PersistenceException
DataIterator
Terminiert das iterieren. Hierdurch werden alle ggf. noch offenen Containerdateien geschlossen.
close
in interface DataIterator
close
in interface java.lang.AutoCloseable
PersistenceException
public long getCurContFileIdx()
getCurContFileIdx
in interface DataIterator