java.lang.Object
com.google.common.collect.DiscreteDomain<T>
de.bsvrz.ars.ars.persistence.directories.mgmt.range.TimeDomain<Week>
de.bsvrz.ars.ars.persistence.directories.mgmt.range.WeekDomain

public final class WeekDomain extends TimeDomain<Week>
Domain-Klasse für Wochen-Zeitbereiche
  • Constructor Details

    • WeekDomain

      public WeekDomain()
  • Method Details

    • ofDate

      public Week ofDate(LocalDate date)
      Konvertiert ein LocalDate in eine Woche
      Parameters:
      date - Datum
      Returns:
      Woche
    • ofEpochMillis

      @NotNull public Week ofEpochMillis(long epochMillis)
      Konvertiert einen Epoch-Milli-zeitstempel in eine Woche
      Specified by:
      ofEpochMillis in class TimeDomain<Week>
      Parameters:
      epochMillis - Zeitpunkt in Epoch-Millis
      Returns:
      Woche
    • ofPath

      public Week ofPath(Path relativePath)
      Description copied from class: TimeDomain
      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.

      Specified by:
      ofPath in class TimeDomain<Week>
      Parameters:
      relativePath - Pfad, der relativ sein muss
      Returns:
      zu einem Zeitpunkt, das Intervall
    • getPath

      @NotNull public Path getPath(Week timeRange)
      Description copied from class: TimeDomain
      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 Operation TimeDomain.ofPath(Path) nicht funktionieren.
      Specified by:
      getPath in class TimeDomain<Week>
      Parameters:
      timeRange - Zeitbereich
      Returns:
      Pfad
    • getMaxDepth

      public int getMaxDepth()
      Description copied from class: TimeDomain
      Gibt die Maximaltiefe der Ordnerstruktur zurück, die diese TimeDomain 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.
      Specified by:
      getMaxDepth in class TimeDomain<Week>
      Returns:
      Maximaltiefe
    • next

      @NotNull public Week next(Week value)
      Specified by:
      next in class com.google.common.collect.DiscreteDomain<Week>
    • previous

      @NotNull public Week previous(Week value)
      Specified by:
      previous in class com.google.common.collect.DiscreteDomain<Week>
    • distance

      public long distance(Week start, Week end)
      Specified by:
      distance in class com.google.common.collect.DiscreteDomain<Week>
    • isYearDir

      public static boolean isYearDir(Path path)
      Gibt true zurück, wenn es sich um ein Jahresverzeichnis handelt.
      Parameters:
      path - Zu prüfendes Verzeichnis
      Returns:
      true, wenn es sich um ein Jahresverzeichnis handelt, sonst false