Interface DataIdentificationDirWalk

All Known Implementing Classes:
StandardDataidentificationDirWalk

public interface DataIdentificationDirWalk
Interface für die Durchführung für Aktionen, die Containerdatei-Verzeichnisse in beliebiger Reihenfolge besuchen.

Die Arbeit kann dabei auf mehrere Threads verteilt werden.

  • Method Details

    • allDirectories

      static DataIdentificationDirWalk allDirectories(@NotNull PersistenceDirectory persistenceDirectory)
      Factory-Methode, die einen DataIdentificationDirWalk erzeugt, der alle im Dateisystem vorhandenen Datenidentifikationsverzeichnisse durchsucht.
      Parameters:
      persistenceDirectory - PersistenceManager
      Returns:
      Ein Objekt, das die Aktion starten kann
      See Also:
    • create

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

      static DataIdentificationDirWalk dataIdentifications(PersistenceDirectory persistenceDirectory, Collection<? extends IdDataIdentification> archiveDataSpecifications)
      Factory-Methode, die einen DataIdentificationDirWalk erzeugt, der die in der angegebenen Anfrage enthaltenen Archivdaten-Spezifikationen durchsucht.
      Parameters:
      persistenceDirectory - PersistenceManager
      archiveDataSpecifications - Anfrage
      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
    • getPublisherTask

      TaskProgressInterface getPublisherTask()
    • setPublisherTask

      void setPublisherTask(TaskProgressInterface publisherTask)
    • execute

      void execute(String actionName, int numThreads, DataIdentificationDirAction action) throws PersistenceException
      Führt den Verzeichnisdurchlauf aus. Jedes ContainerDirWalk-Objekt kann nur einmal benutzt 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.
    • increaseContCount

      void increaseContCount(int increment)
      Inkrementiert die Anzahl besuchter Container (interne Methode, die von ContainerWalk aufgerufen wird, damit diese Klasse die Anzahl Container für die Ausgabe mit-zählen kann)
      Parameters:
      increment - Anzahl, um die inkrementiert werden soll