Class StandardContainerDirWalk
java.lang.Object
de.bsvrz.ars.ars.persistence.walk.internal.StandardContainerDirWalk
- All Implemented Interfaces:
DataIdentificationDirWalk
public class StandardContainerDirWalk extends java.lang.Object implements DataIdentificationDirWalk
Standardimplementierung eines ContainerDirWalk
-
Constructor Summary
Constructors Constructor Description StandardContainerDirWalk(DataIdentificationDirGetter contGetter)
Erstellt einen neuen StandardContainerDirWalk -
Method Summary
Modifier and Type Method Description <E> java.util.stream.Stream<E>
collect(java.lang.String actionName, int numThreads, DataIdentificationDirCollector<E> collector)
Führt den Verzeichnisdurchlauf aus.void
execute(java.lang.String actionName, int numThreads, DataIdentificationDirAction action)
Führt den Verzeichnisdurchlauf aus.LongTermTaskStatePublisher.Task
getPublisherTask()
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
increaseContCount(int increment)
Inkrementiert die Anzahl besuchter Container (interne Methode, die vonContainerWalk
aufgerufen wird, damit diese Klasse die Anzahl Container für die Ausgabe mit-zählen kann)void
setPublisherTask(LongTermTaskStatePublisher.Task publisherTask)
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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
StandardContainerDirWalk
Erstellt einen neuen StandardContainerDirWalk- Parameters:
contGetter
- Klasse, die Cotnainerverzeichnisse auflistet.
-
-
Method Details
-
getStatusInterval
public java.time.Duration getStatusInterval()Description copied from interface:DataIdentificationDirWalk
Gibt das Intervall zurück, in dem Statusmeldungen ausgegeben werden (positiv)- Specified by:
getStatusInterval
in interfaceDataIdentificationDirWalk
- Returns:
- das Intervall
-
setStatusInterval
public void setStatusInterval(java.time.Duration statusInterval)Description copied from interface:DataIdentificationDirWalk
Setzt das Statusintervall- Specified by:
setStatusInterval
in interfaceDataIdentificationDirWalk
- Parameters:
statusInterval
- Intervall
-
getStatusPrinter
Description copied from interface:DataIdentificationDirWalk
Gibt die Klasse zurück, die Statusmeldungen ausgibt.- Specified by:
getStatusPrinter
in interfaceDataIdentificationDirWalk
- Returns:
- Klasse
-
setStatusPrinter
Description copied from interface:DataIdentificationDirWalk
Setzt die Klasse, die Statusmeldungen schreibt.- Specified by:
setStatusPrinter
in interfaceDataIdentificationDirWalk
- Parameters:
statusPrinter
- Beliebige Subklasse/Instanz vonStatusPrinter
-
getPublisherTask
- Specified by:
getPublisherTask
in interfaceDataIdentificationDirWalk
-
setPublisherTask
- Specified by:
setPublisherTask
in interfaceDataIdentificationDirWalk
-
execute
public void execute(java.lang.String actionName, int numThreads, DataIdentificationDirAction action) throws PersistenceExceptionDescription copied from interface:DataIdentificationDirWalk
Führt den Verzeichnisdurchlauf aus. Jedes ContainerDirWalk-Objekt kann nur einmal benutzt werden.- Specified by:
execute
in interfaceDataIdentificationDirWalk
- 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
-
collect
public <E> java.util.stream.Stream<E> collect(java.lang.String actionName, int numThreads, DataIdentificationDirCollector<E> collector) throws PersistenceExceptionDescription copied from interface:DataIdentificationDirWalk
Führt den Verzeichnisdurchlauf aus. Jedes ContainerDirWalk-Objekt kann nur einmal benutzt werden.- Specified by:
collect
in interfaceDataIdentificationDirWalk
- Type Parameters:
E
- Ergebnistyp, der gesammelt werden soll.- Parameters:
actionName
- Name (zur Benennung der Thread-Objekte, Ausgabe in Debug-Meldungen usw.)numThreads
- Anzahl Threads zur Bearbeitungcollector
- Ausdruck, der für jedes Verzeichnis ausgeführt wurd und ein Ergebnis zurückliefert- Returns:
- Gefundene Objekte
- Throws:
PersistenceException
- Falls ein Fehler Auftritt
-
terminate
public void terminate()Description copied from interface:DataIdentificationDirWalk
Sorgt für ein sofortiges, aber kontrolliertes Beenden. Der aktuelle Verzeichnisdurchlauf je Thread wird abgeschlossen.- Specified by:
terminate
in interfaceDataIdentificationDirWalk
-
increaseContCount
public void increaseContCount(int increment)Description copied from interface:DataIdentificationDirWalk
Inkrementiert die Anzahl besuchter Container (interne Methode, die vonContainerWalk
aufgerufen wird, damit diese Klasse die Anzahl Container für die Ausgabe mit-zählen kann)- Specified by:
increaseContCount
in interfaceDataIdentificationDirWalk
- Parameters:
increment
- Anzahl, um die inkrementiert werden soll
-