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 Details

    • allContainers

      static ContainerWalk allContainers(PersistenceDirectory persistenceDirectory, PersistenceManager persistenceManager)
      Factory-Methode, die einen ContainerDirWalk erzeugt, der alle Containerverzeichnisse durchsucht.
      Parameters:
      persistenceDirectory - Persistenzverzeichnis
      persistenceManager - Persistenzschicht
      Returns:
      Ein Objekt, das die Aktion starten kann
      See Also:
    • fromArchiveDataSpecification

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

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

      void setStatusInterval(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(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.