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 TypeMethodDescriptionstatic ContainerWalk
allContainers
(PersistenceDirectory persistenceDirectory, PersistenceManager persistenceManager) Factory-Methode, die einen ContainerDirWalk erzeugt, der alle Containerverzeichnisse durchsucht.void
execute
(String actionName, int numThreads, ContainerAction action) Führt den Verzeichnisdurchlauf aus.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.Gibt das Intervall zurück, in dem Statusmeldungen ausgegeben werden (positiv)Gibt die Klasse zurück, die Statusmeldungen ausgibt.void
setStatusInterval
(Duration statusInterval) Setzt das Statusintervallvoid
setStatusPrinter
(StatusPrinter statusPrinter) Setzt die Klasse, die Statusmeldungen schreibt.void
Sorgt für ein sofortiges, aber kontrolliertes Beenden.
-
Method Details
-
allContainers
static ContainerWalk allContainers(PersistenceDirectory persistenceDirectory, PersistenceManager persistenceManager) Factory-Methode, die einen ContainerDirWalk erzeugt, der alle Containerverzeichnisse durchsucht.- Parameters:
persistenceDirectory
- PersistenzverzeichnispersistenceManager
- 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
- PersistenzverzeichnisarchiveDataSpecifications
- AnfragepersistenceManager
- 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
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
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 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.
-