Class DeletedMinMaxIterator

java.lang.Object
de.bsvrz.ars.ars.persistence.DeletedMinMaxIterator
All Implemented Interfaces:
ContainerManagementData, DataIterator, AutoCloseable

public final class DeletedMinMaxIterator extends Object implements DataIterator, ContainerManagementData
Iterator über die Datensätze eines gelöschten Containers. Es werden genau 2 künstliche Einträge zurückgegeben mit den Minimum-Werten und dann den Maximum-Werten aus den Headern. Daten können nicht abgefragt werden.
  • Constructor Details

    • DeletedMinMaxIterator

      public DeletedMinMaxIterator(ContainerHeaders headers, de.bsvrz.dav.daf.main.archive.ArchiveDataKind adk, IdDataIdentification dataIdentification)
      Erteugt einen neuen DeletedMinMaxIterator
      Parameters:
      headers - Header des Containers
      adk - Archivdatenart
      dataIdentification - Datenidentifikation
  • Method Details

    • peek

      public void peek(ContainerDataResult result)
      Description copied from interface: 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.
      Specified by:
      peek in interface DataIterator
      Parameters:
      result - Ziel-Element
    • peekNext

      public ContainerDataResult peekNext()
      Description copied from interface: 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, wenn DataIterator.isEmpty() true zurückliefert.
      Specified by:
      peekNext in interface DataIterator
      Returns:
      Ziel-Element oder null, falls es keinen nächsten Datensatz gibt
    • peekDataIndex

      public long peekDataIndex()
      Description copied from interface: DataIterator
      Ruft den aktuellen Datenindex ab. Entspricht
      
      	 ContainerDataResult result = new ContainerDataResult()
      	 this.peek(result)
      	 return result.getDataIndex()
       
      ist aber wahrscheinlich performanter.
      Specified by:
      peekDataIndex in interface DataIterator
      Returns:
      Datenindex des aktuellen Elements
    • peekDataTime

      public long peekDataTime()
      Description copied from interface: DataIterator
      Ruft die aktuelle Datenzeit ab. Entspricht
      
      	 ContainerDataResult result = new ContainerDataResult()
      	 this.peek(result)
      	 return result.getDataTime()
       
      ist aber wahrscheinlich performanter.
      Specified by:
      peekDataTime in interface DataIterator
      Returns:
      Datenzeit des aktuellen Elements
    • peekArchiveTime

      public long peekArchiveTime()
      Description copied from interface: DataIterator
      Ruft die aktuelle Archivzeit ab. Entspricht
      
       ContainerDataResult result = new ContainerDataResult()
       this.peek(result)
       return result.getArchiveTime()
       
      ist aber wahrscheinlich performanter.
      Specified by:
      peekArchiveTime in interface DataIterator
      Returns:
      Archivzeit des aktuellen Elements
    • remove

      public void remove()
      Description copied from interface: DataIterator
      Entfernt/Überspringt das aktuelle Element. Der Container wird nicht modifiziert, nur der Iterator.
      Specified by:
      remove in interface DataIterator
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: DataIterator
      Gibt true zurück, wenn der Iterator erschöpft ist. Ist das der Fall liefern alle anderen Funktionen außer close() NoSuchElementExceptions.
      Specified by:
      isEmpty in interface DataIterator
      Returns:
      true, wenn der Iterator erschöpft ist, sonst false
    • close

      public void close()
      Description copied from interface: DataIterator
      Terminiert das iterieren. Hierdurch werden alle ggf. noch offenen Containerdateien geschlossen.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface DataIterator
    • getContainerManagementData

      @NotNull public ContainerManagementData getContainerManagementData()
      Description copied from interface: DataIterator
      Gibt die Containerheaderdaten des Containers des aktuell betrachteten Datensatzes zurück
      Specified by:
      getContainerManagementData in interface DataIterator
      Returns:
      ContainerManagementData
    • getContainerHeaderParamAsString

      public String getContainerHeaderParamAsString(ContainerManagementInformation param)
      Description copied from interface: ContainerManagementData
      Liefert den Wert des Parameters als String-Wert zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde.
      Specified by:
      getContainerHeaderParamAsString in interface ContainerManagementData
      Parameters:
      param - Container-Header-Parameter
      Returns:
      Parameter-Wert als String
      See Also:
    • getContainerHeaderParamAsBoolean

      public boolean getContainerHeaderParamAsBoolean(ContainerManagementInformation param)
      Description copied from interface: ContainerManagementData
      Liefert den Wert des Parameters als boolschen Wert zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ boolean umgeformt werden kann.
      Specified by:
      getContainerHeaderParamAsBoolean in interface ContainerManagementData
      Parameters:
      param - Container-Header-Parameter
      Returns:
      true oder false
    • getContainerHeaderParamAsLong

      public long getContainerHeaderParamAsLong(ContainerManagementInformation param)
      Description copied from interface: ContainerManagementData
      Liefert den Wert des Parameters als numerischen Wert vom Typ long zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ long umgeformt werden kann.
      Specified by:
      getContainerHeaderParamAsLong in interface ContainerManagementData
      Parameters:
      param - Container-Header-Parameter
      Returns:
      Ganzzahl als long
    • getContainerHeaderParamAsInt

      public int getContainerHeaderParamAsInt(ContainerManagementInformation param)
      Description copied from interface: ContainerManagementData
      Liefert den Wert des Parameters als numerischen Wert vom Typ long zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ long umgeformt werden kann.
      Specified by:
      getContainerHeaderParamAsInt in interface ContainerManagementData
      Parameters:
      param - Container-Header-Parameter
      Returns:
      Ganzzahl als long
    • getLocation

      public IdContainerFileDir getLocation()
      Description copied from interface: ContainerManagementData
      Gibt den Ort des Containers zurück
      Specified by:
      getLocation in interface ContainerManagementData
      Returns:
      den Ort des Containers