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 Statusintervallvoid
setStatusPrinter(StatusPrinter statusPrinter)
Setzt die Klasse, die Statusmeldungen schreibt.void
terminate()
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.
-