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 ContainerWalkallContainers(PersistenceManager persistenceManager)Factory-Methode, die einen ContainerDirWalk erzeugt, der alle Containerverzeichnisse durchsucht.voidexecute(java.lang.String actionName, int numThreads, ContainerAction action)Führt den Verzeichnisdurchlauf aus.static ContainerWalkfromArchiveDataSpecification(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.DurationgetStatusInterval()Gibt das Intervall zurück, in dem Statusmeldungen ausgegeben werden (positiv)StatusPrintergetStatusPrinter()Gibt die Klasse zurück, die Statusmeldungen ausgibt.voidsetStatusInterval(java.time.Duration statusInterval)Setzt das StatusintervallvoidsetStatusPrinter(StatusPrinter statusPrinter)Setzt die Klasse, die Statusmeldungen schreibt.voidterminate()Sorgt für ein sofortiges, aber kontrolliertes Beenden.
-
Method Details
-
allContainers
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- PersistenceManagerarchiveDataSpecifications- 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
Setzt die Klasse, die Statusmeldungen schreibt.- Parameters:
statusPrinter- Beliebige Subklasse/Instanz vonStatusPrinter
-
execute
void execute(java.lang.String actionName, int numThreads, ContainerAction action) throws PersistenceExceptionFü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 Bearbeitungaction- 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.
-