Class DataIdentificationDirGetter
java.lang.Object
de.bsvrz.ars.ars.persistence.walk.internal.DataIdentificationDirGetter
Instanzen dieser Klasse dienen dem
StandardDataidentificationDirWalk
per Dependency-Injection als Quelle
von Datenidentifikationsverzeichnissen.
Durch die Dependency-Injection sind die Typen in dieser Klasse etwas verwirrend.
Eine genaue Beschreibung findet sich in der create(Consumer, CountEstimator)
-Factory-Methode.
Hintergrund dieser Klasse und der ähnlichen Struktur ist, dass das Auflisten von datenidentifikationsverzeichnissen
am effizientesten "aktiv" passiert, d. h. der DataIdentificationDirWalk
hat keine Iterator
-mäßigen Abfragemethoden, sondern liefert laufend neue Verzeichnisse
und übergibt diese als Ereignis an einen DataIdentificationListener
.
Diese Klasse erlaubt über Dependency Injection eine Entkoppelung von dieser aktiven Struktur und zudem eine
Abschätzung des Datenumfangs mit einem CountEstimator
.
-
Method Summary
Modifier and TypeMethodDescriptionstatic DataIdentificationDirGetter
create
(Consumer<DataIdentificationDirListener> directoryGetter, CountEstimator countEstimator) Erstellt einen DataIdentificationDirGetter.long
Schätz mithilfe des übergebenenCountEstimator
-Objekts die Gesamtzahl aller Datenidentifikationenvoid
run
(DataIdentificationDirListener listener) Führt den Verzeichnisdurchlauf aus.
-
Method Details
-
create
public static DataIdentificationDirGetter create(Consumer<DataIdentificationDirListener> directoryGetter, CountEstimator countEstimator) Erstellt einen DataIdentificationDirGetter.- Parameters:
directoryGetter
- Klasse die einenDataIdentificationListener
akzeptiert und diesem die gefundenen Containerverzeichnisse übergibt. Das heißt, dieser Parameter ist eine Implementierung, die Datenidentifikationsverzeichnisse liefert, z. B. durch Iteration der Verzeichnisstruktur.countEstimator
- Klasse, die die gesamte Anzahl der Datenidentifikationsverzeichnisse schätzt.- Returns:
- Eine neue Instanz
-
run
Führt den Verzeichnisdurchlauf aus. Diese Methode startet den Verzeichnisdurchlauf, indem der beim Erstellen der Instanz angegebene directoryGetter gestartet wird und an ihn der Listener übergeben wird. Der Listener, also der Parameter dieser Methode, bekommt also dann alle gefundenen Datenidentifikationsverzeichnisse nacheinander übergeben.- Parameters:
listener
- Listener, der Datenidentifikationsverzeichnisse empfängt
-
estimateCount
public long estimateCount()Schätz mithilfe des übergebenenCountEstimator
-Objekts die Gesamtzahl aller Datenidentifikationen- Returns:
- u. U. nicht verlässlicher Schätzwert
-