Class TimeDomain<T extends TimeRange<T>>
java.lang.Object
com.google.common.collect.DiscreteDomain<T>
de.bsvrz.ars.ars.persistence.directories.mgmt.range.TimeDomain<T>
- Type Parameters:
T
- Typ der einzelnen Zeitintervalle, z. B.Week
- Direct Known Subclasses:
WeekDomain
public abstract class TimeDomain<T extends TimeRange<T>>
extends com.google.common.collect.DiscreteDomain<T>
Basisklasse für einen diskreten Typ für Zeitbereiche (z. B. Wochen) für die Wochenverzeichnisse.
Diese Klasse ermittelt zu einem Zeitstempel den zugehörigen Zeitbereich und konvertiert diesen in eine Ordnerstruktur bzw. erlaubt es umgekehrt, basierend auf einer gegebenen Ordnerstruktur das zugehörige Zeitintervall (also z. B.die Woche) zu ermitteln.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetIntervals
(com.google.common.collect.Range<Instant> timeRange) Ermittelt zu einem absoluten Zeitbereich (gegeben durch 2Instant
-Objekte) die Liste mit Intervallen, in diesem Bereich.abstract int
Gibt die Maximaltiefe der Ordnerstruktur zurück, die dieseTimeDomain
verwendet.abstract Path
Gibt zu einem gegebenen Zeitintervall den Pfad zurück, indem Daten dieses Zeitintervalls gespeichert werden sollen.abstract T
ofEpochMillis
(long epochMillis) Gibt zu einem Zeitpunkt, das Intervall zurück, das diesen Zeitpunkt enthält.abstract T
Gibt zu einer relativen Ordnerstruktur das zugehörige Zeitintervall zurück.Methods inherited from class com.google.common.collect.DiscreteDomain
bigIntegers, distance, integers, longs, maxValue, minValue, next, previous
-
Constructor Details
-
TimeDomain
public TimeDomain()
-
-
Method Details
-
getIntervals
Ermittelt zu einem absoluten Zeitbereich (gegeben durch 2Instant
-Objekte) die Liste mit Intervallen, in diesem Bereich. Die zurückgegebene Liste ist unveränderlich.- Parameters:
timeRange
- Zeitbereich- Returns:
- Intervalle
-
ofEpochMillis
Gibt zu einem Zeitpunkt, das Intervall zurück, das diesen Zeitpunkt enthält.- Parameters:
epochMillis
- Zeitpunkt in Epoch-Millis- Returns:
- zu einem Zeitpunkt, das Intervall
-
ofPath
Gibt zu einer relativen Ordnerstruktur das zugehörige Zeitintervall zurück.Beispielsweise könnte
ofPath(Path.of("2021", "2021-01-01"));
die Woche oder den Monat zurückgeben, der am 01. 01. 2021 anliegt.Handelt es sich um keine bekannte Ordnerstruktur, kann
null
zurückgegeben werden.- Parameters:
relativePath
- Pfad, der relativ sein muss- Returns:
- zu einem Zeitpunkt, das Intervall
-
getPath
Gibt zu einem gegebenen Zeitintervall den Pfad zurück, indem Daten dieses Zeitintervalls gespeichert werden sollen. Dieser Pfad muss zu jedem möglichen Zeitintervall eindeutig sein, sonst könnte die umgekehrte OperationofPath(Path)
nicht funktionieren.- Parameters:
timeRange
- Zeitbereich- Returns:
- Pfad
-
getMaxDepth
public abstract int getMaxDepth()Gibt die Maximaltiefe der Ordnerstruktur zurück, die dieseTimeDomain
verwendet. Wenn z. B. Daten in Jahresverzeichnissen und darunter in Wochenverzeichnissen gespeichert werden sollen, mull 2 zurückgegeben werden. Innerhalb dieser Tiefe sucht das Archivsystem nach gültigen Persistenzverzeichnissen.- Returns:
- Maximaltiefe
-