Interface ContainerWalk

All Known Implementing Classes:
StandardContainerWalk

public interface ContainerWalk
Interface für die Durchführung für Aktionen, die Containerdateien besuchen.

Die Arbeit kann dabei auf mehrere Threads verteilt werden.

  • Method Summary

    Modifier and Type Method Description
    static ContainerWalk allContainers​(PersistenceManager persistenceManager)
    Factory-Methode, die einen ContainerDirWalk erzeugt, der alle Containerverzeichnisse durchsucht.
    void execute​(java.lang.String actionName, int numThreads, ContainerAction action)
    Führt den Verzeichnisdurchlauf aus.
    static ContainerWalk fromArchiveDataSpecification​(PersistenceManager persistenceManager, java.util.Collection<? extends de.bsvrz.dav.daf.main.archive.ArchiveDataSpecification> archiveDataSpecifications)
    Factory-Methode, die einen ContainerDirWalk erzeugt, der die in der angegebenen Anfrage enthaltenen Archivdaten-Spezifikationen durchsucht.
    java.time.Duration getStatusInterval()
    Gibt das Intervall zurück, in dem Statusmeldungen ausgegeben werden (positiv)
    StatusPrinter getStatusPrinter()
    Gibt die Klasse zurück, die Statusmeldungen ausgibt.
    void setStatusInterval​(java.time.Duration statusInterval)
    Setzt das Statusintervall
    void setStatusPrinter​(StatusPrinter statusPrinter)
    Setzt die Klasse, die Statusmeldungen schreibt.
    void terminate()
    Sorgt für ein sofortiges, aber kontrolliertes Beenden.
  • Method Details

    • allContainers

      static ContainerWalk allContainers​(PersistenceManager persistenceManager)
      Factory-Methode, die einen ContainerDirWalk erzeugt, der alle Containerverzeichnisse durchsucht.
      Parameters:
      persistenceManager - PersistenceManager
      Returns:
      Ein Objekt, das die Aktion starten kann
      See Also:
      execute(String, int, ContainerAction)
    • fromArchiveDataSpecification

      static ContainerWalk fromArchiveDataSpecification​(PersistenceManager persistenceManager, java.util.Collection<? extends de.bsvrz.dav.daf.main.archive.ArchiveDataSpecification> archiveDataSpecifications)
      Factory-Methode, die einen ContainerDirWalk erzeugt, der die in der angegebenen Anfrage enthaltenen Archivdaten-Spezifikationen durchsucht.
      Parameters:
      persistenceManager - PersistenceManager
      archiveDataSpecifications - Anfrage
      Returns:
      Ein Objekt, das die Aktion starten kann
      See Also:
      execute(String, int, ContainerAction)
    • getStatusInterval

      java.time.Duration getStatusInterval()
      Gibt das Intervall zurück, in dem Statusmeldungen ausgegeben werden (positiv)
      Returns:
      das Intervall
    • setStatusInterval

      void setStatusInterval​(java.time.Duration statusInterval)
      Setzt das Statusintervall
      Parameters:
      statusInterval - Intervall
    • getStatusPrinter

      StatusPrinter getStatusPrinter()
      Gibt die Klasse zurück, die Statusmeldungen ausgibt.
      Returns:
      Klasse
    • setStatusPrinter

      void setStatusPrinter​(StatusPrinter statusPrinter)
      Setzt die Klasse, die Statusmeldungen schreibt.
      Parameters:
      statusPrinter - Beliebige Subklasse/Instanz von StatusPrinter
    • execute

      void execute​(java.lang.String actionName, int numThreads, ContainerAction action) throws PersistenceException
      Führt den Verzeichnisdurchlauf aus. Diese Methode kann je Objekt nur einmal ausgeführt werden.
      Parameters:
      actionName - Name (zur Benennung der Thread-Objekte, Ausgabe in Debug-Meldungen usw.)
      numThreads - Anzahl Threads zur Bearbeitung
      action - Durchzuführende Aktion
      Throws:
      PersistenceException - Falls ein Fehler Auftritt
    • terminate

      void terminate()
      Sorgt für ein sofortiges, aber kontrolliertes Beenden. Der aktuelle Verzeichnisdurchlauf je Thread wird abgeschlossen.