de.bsvrz.ars.ars.persistence
Class MultiContainerDataIterator

java.lang.Object
  extended by de.bsvrz.ars.ars.persistence.MultiContainerDataIterator

public class MultiContainerDataIterator
extends java.lang.Object

Klasse zum Iterieren ueber Containergrenzen einer Datenidentifikation hinweg. Es wird stets ueber aufsteigende Datenindexe iteriert.

Version:
$Revision: 1.2 $ / $Date: 2008/01/22 16:55:57 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Alexander Schmidt

Field Summary
static int DEL_FULLCOUNT
          Beim Iterieren geloeschter Container werden alle Datensaetze gezaehlt
static int DEL_IGNORE
          Geloeschte Container werden beim Iterieren ignoriert
static int DEL_MINMAX
          Beim Itererieren geloeschter Container werden nur 2 Datensaetze (Min/Max) gezaehlt
 
Constructor Summary
MultiContainerDataIterator(ArchiveManager arcMgr, DataIdentTreeIterator it, IndexResult oaRes, IndexResult onRes, IndexResult naRes, IndexResult nnRes, int deletedTreatment, Task ownerTask)
          Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.
MultiContainerDataIterator(ArchiveManager arcMgr, DataIdentTreeIterator it, IndexResult oaRes, IndexResult onRes, IndexResult naRes, IndexResult nnRes, Task ownerTask)
           
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, ArchiveDataKindCombination adkc, int deletedTreatment, Task ownerTask)
          Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, ArchiveDataKindCombination adkc, Task ownerTask)
           
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, boolean oa, boolean on, boolean na, boolean nn, int deletedTreatment, Task ownerTask)
          Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, boolean oa, boolean on, boolean na, boolean nn, Task ownerTask)
          Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, IndexResult oaRes, IndexResult onRes, IndexResult naRes, IndexResult nnRes, int deletedTreatment, Task ownerTask)
          Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, IndexResult oaRes, IndexResult onRes, IndexResult naRes, IndexResult nnRes, Task ownerTask)
          Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.
MultiContainerDataIterator(ArchiveManager arcMgr, long objID, long atgID, long aspID, int sv, Task ownerTask)
           
 
Method Summary
 void close()
          Schliesst den Multi-Iterator und damit auch alle noch offenen Container-Dateien.
 java.lang.String descPosition()
          Liefert eine textuelle Beschreibung der aktuellen Position aus Verzeichnis, Container und Datensatz.
 int getCurContFileIdx()
          Liefert den ContainerFile-Index fuer PersistenceManager.getContainerHeaderParamAsLong(Task, int, KeyValParam) des Containers, der den letzten Datensatz geliefert hat.
 long getCurContID()
          Liefert die Container-ID des Containers, der den letzten Datensatz geliefert hat.
 ContainerDataIterator readNextDIdx()
          Liefert Datensatz-Iterator zurueck, der auf dem naechsten Datensatz steht.
 ContainerDataIterator readSkipNextDIdx()
          Liefert Datensatz-Iterator zurueck, der auf dem naechsten Datensatz steht, und ueberspringt diesen Datensatz.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEL_IGNORE

public static final int DEL_IGNORE
Geloeschte Container werden beim Iterieren ignoriert

See Also:
Constant Field Values

DEL_MINMAX

public static final int DEL_MINMAX
Beim Itererieren geloeschter Container werden nur 2 Datensaetze (Min/Max) gezaehlt

See Also:
Constant Field Values

DEL_FULLCOUNT

public static final int DEL_FULLCOUNT
Beim Iterieren geloeschter Container werden alle Datensaetze gezaehlt

See Also:
Constant Field Values
Constructor Detail

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  boolean oa,
                                  boolean on,
                                  boolean na,
                                  boolean nn,
                                  int deletedTreatment,
                                  Task ownerTask)
                           throws PersistenceException
Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.

Parameters:
arcMgr - Der Archiv-Manager.
objID - Die Objekt-ID.
atgID - Die Attributgruppen-ID.
aspID - Die Aspekt-ID.
sv - Die Simulationsvariante.
oa - Kennzeichen, ob Container mit Online-Aktuell erhaltenen Datensaetzen genommen werden.
on - Kennzeichen, ob Container mit Online-Nachgeliefert erhaltenen Datensaetzen genommen werden.
na - Kennzeichen, ob Container mit Nachgefordert-Aktuell erhaltenen Datensaetzen genommen werden.
nn - Kennzeichen, ob Container mit Nachgefordert-Nachgeliefert erhaltenen Datensaetzen genommen werden.
deletedTreatment - gibt an, wie geloeschte Container behandelt werden sollen.
ownerTask - Aufrufender Task. Wird bei Zugriffen auf die Persistenz benoetigt.
Throws:
PersistenceException

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  boolean oa,
                                  boolean on,
                                  boolean na,
                                  boolean nn,
                                  Task ownerTask)
                           throws PersistenceException
Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.

Parameters:
arcMgr - Der Archiv-Manager.
objID - Die Objekt-ID.
atgID - Die Attributgruppen-ID.
aspID - Die Aspekt-ID.
sv - Die Simulationsvariante.
oa - Kennzeichen, ob Container mit Online-Aktuell erhaltenen Datensaetzen genommen werden.
on - Kennzeichen, ob Container mit Online-Nachgeliefert erhaltenen Datensaetzen genommen werden.
na - Kennzeichen, ob Container mit Nachgefordert-Aktuell erhaltenen Datensaetzen genommen werden.
nn - Kennzeichen, ob Container mit Nachgefordert-Nachgeliefert erhaltenen Datensaetzen genommen werden.
ownerTask - Aufrufender Task. Wird bei Zugriffen auf die Persistenz benoetigt.
Throws:
PersistenceException

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  ArchiveDataKindCombination adkc,
                                  int deletedTreatment,
                                  Task ownerTask)
                           throws PersistenceException
Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.

Parameters:
arcMgr - Der Archiv-Manager.
objID - Die Objekt-ID.
atgID - Die Attributgruppen-ID.
aspID - Die Aspekt-ID.
sv - Die Simulationsvariante.
adkc - Liefert Kennzeichen, von welchen Datensatzarten die Container genommen werden
deletedTreatment - Gibt an, ob geloeschte Container ignoriert werden [0], als 2 Datensaetze (Min/Max) zaehlen [1], oder voll gezaehlt werden [2]
ownerTask - Aufrufender Task. Wird bei Zugriffen auf die Persistenz benoetigt.
Throws:
PersistenceException

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  ArchiveDataKindCombination adkc,
                                  Task ownerTask)
                           throws PersistenceException
Throws:
PersistenceException
See Also:
mit deletedTreatment==0

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  Task ownerTask)
                           throws PersistenceException
Throws:
PersistenceException
See Also:
mit deletedTreatment==0

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  IndexResult oaRes,
                                  IndexResult onRes,
                                  IndexResult naRes,
                                  IndexResult nnRes,
                                  Task ownerTask)
                           throws PersistenceException
Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.

Bei den Container-ID-Listen gilt:

Parameters:
arcMgr - Der Archiv-Manager.
objID - Die Objekt-ID.
atgID - Die Attributgruppen-ID.
aspID - Die Aspekt-ID.
sv - Die Simulationsvariante.
oaRes - Liste mit Container-IDs fuer Online-Aktuell erhaltene Datensaetze.
onRes - Liste mit Container-IDs fuer Online-Nachgeliefert erhaltene Datensaetze.
naRes - Liste mit Container-IDs fuer Nachgefordert-Aktuell erhaltene Datensaetze.
nnRes - Liste mit Container-IDs fuer Nachgefordert-Nachgeliefert erhaltene Datensaetze.
ownerTask - Aufrufender Task. Wird bei Zugriffen auf die Persistenz benoetigt.
Throws:
PersistenceException

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  long objID,
                                  long atgID,
                                  long aspID,
                                  int sv,
                                  IndexResult oaRes,
                                  IndexResult onRes,
                                  IndexResult naRes,
                                  IndexResult nnRes,
                                  int deletedTreatment,
                                  Task ownerTask)
                           throws PersistenceException
Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.

Bei den Container-ID-Listen gilt:

Parameters:
arcMgr - Der Archiv-Manager.
objID - Die Objekt-ID.
atgID - Die Attributgruppen-ID.
aspID - Die Aspekt-ID.
sv - Die Simulationsvariante.
oaRes - Liste mit Container-IDs fuer Online-Aktuell erhaltene Datensaetze.
onRes - Liste mit Container-IDs fuer Online-Nachgeliefert erhaltene Datensaetze.
naRes - Liste mit Container-IDs fuer Nachgefordert-Aktuell erhaltene Datensaetze.
nnRes - Liste mit Container-IDs fuer Nachgefordert-Nachgeliefert erhaltene Datensaetze.
deletedTreatment - Gibt an, ob geloeschte Container ignoriert werden [0], als 2 Datensaetze (Min/Max) zaehlen [1], oder voll gezaehlt werden [2]
ownerTask - Aufrufender Task. Wird bei Zugriffen auf die Persistenz benoetigt.
Throws:
PersistenceException

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  DataIdentTreeIterator it,
                                  IndexResult oaRes,
                                  IndexResult onRes,
                                  IndexResult naRes,
                                  IndexResult nnRes,
                                  int deletedTreatment,
                                  Task ownerTask)
                           throws PersistenceException
Erzeugt einen Multi-Iterator, der ueber mehrere Container und Datensatzarten laeuft und dabei als naechsten DS stets den mit dem kleinsten Index liefert.

Bei den Container-ID-Listen gilt:

Parameters:
arcMgr - Der Archive-Manager.
it - Die aktuelle Position dieses DataIdentTree-Iterators liefert die Datenidentifikation.
oaRes - Liste mit Container-IDs fuer Online-Aktuell erhaltene Datensaetze.
onRes - Liste mit Container-IDs fuer Online-Nachgeliefert erhaltene Datensaetze.
naRes - Liste mit Container-IDs fuer Nachgefordert-Aktuell erhaltene Datensaetze.
nnRes - Liste mit Container-IDs fuer Nachgefordert-Nachgeliefert erhaltene Datensaetze.
deletedTreatment - Gibt an, ob geloeschte Container ignoriert werden [0], als 2 Datensaetze (Min/Max) zaehlen [1], oder voll gezaehlt werden [2]
ownerTask - Aufrufender Task. Wird bei Zugriffen auf die Persistenz benoetigt.
Throws:
PersistenceException

MultiContainerDataIterator

public MultiContainerDataIterator(ArchiveManager arcMgr,
                                  DataIdentTreeIterator it,
                                  IndexResult oaRes,
                                  IndexResult onRes,
                                  IndexResult naRes,
                                  IndexResult nnRes,
                                  Task ownerTask)
                           throws PersistenceException
Throws:
PersistenceException
See Also:
mit deletedTreatment == 0 (IGNORE)
Method Detail

readNextDIdx

public ContainerDataIterator readNextDIdx()
                                   throws PersistenceException
Liefert Datensatz-Iterator zurueck, der auf dem naechsten Datensatz steht.

Returns:
Datensatz-Iterator mit naechstem Datensatz, null wenn alle Iteratoren am Ende sind
Throws:
PersistenceException

readSkipNextDIdx

public ContainerDataIterator readSkipNextDIdx()
                                       throws PersistenceException
Liefert Datensatz-Iterator zurueck, der auf dem naechsten Datensatz steht, und ueberspringt diesen Datensatz.

Returns:
Datensatz-Iterator mit naechstem Datensatz
Throws:
PersistenceException

close

public void close()
Schliesst den Multi-Iterator und damit auch alle noch offenen Container-Dateien.


getCurContID

public long getCurContID()
Liefert die Container-ID des Containers, der den letzten Datensatz geliefert hat.

Returns:
Container-ID des Containers, der den letzten Datensatz geliefert hat

getCurContFileIdx

public int getCurContFileIdx()
Liefert den ContainerFile-Index fuer PersistenceManager.getContainerHeaderParamAsLong(Task, int, KeyValParam) des Containers, der den letzten Datensatz geliefert hat.

Returns:
ContainerFile-Index des Containers, der den letzten Datensatz geliefert hat

descPosition

public java.lang.String descPosition()
Liefert eine textuelle Beschreibung der aktuellen Position aus Verzeichnis, Container und Datensatz.

Returns:
Textuelle Beschreibung der aktuellen Position


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.