java.lang.Object
java.lang.Record
de.bsvrz.ars.ars.persistence.directories.mgmt.range.Week
Datensatzkomponenten:
internalWeekNumber - laufende Wochennummer seit dem 01.01.2017. Die Woche, die am 01.01.2017 startet, bekommt die Nummer 0, die Woche die am 08.01.2017 startet die 1, usw. negative Zahlen sind für Wochen vor 2017 möglich.
Alle implementierten Schnittstellen:
TimeRange<Week>, Comparable<Week>

public record Week(long internalWeekNumber) extends Record implements TimeRange<Week>
Diese Klasse repräsentiert eine beliebige laufende Kalenderwoche. Intern werden die Anzahl Wochen seit der Woche gezählt, die am 01.01.2017 um 0:00 UTC startet. Dies ist ein Sonntag. Im Sinne dieses Programms starten Wochen immer Sonntags, da so der Umschaltzeitpunkt von einer Woche auf die nächste auf das "ruhige" Wochenende gelegt werden kann.

Das Jahr 2017 wurde willkürlich gewählt, da es an einem Sonntag beginnt.

UTC und Sonntag sind fest einprogrammiert, um Probleme zu umgehen, die sich durch sich ändernde Systemeinstellungen oder Zeitzoneneinstellungen usw. ergeben könnten.

  • Konstruktordetails

    • Week

      public Week(long internalWeekNumber)
      Erstellt eine neue Woche.
      Parameter:
      internalWeekNumber - laufende Wochennummer
  • Methodendetails

    • compareTo

      public int compareTo(Week o)
      Angegeben von:
      compareTo in Schnittstelle Comparable<Week>
    • getFirstDay

      public LocalDate getFirstDay()
    • getLastDay

      public LocalDate getLastDay()
    • getDayRange

      public com.google.common.collect.Range<LocalDate> getDayRange()
      Beschreibung aus Schnittstelle kopiert: TimeRange
      Konvertiert den Zeitbereich in einen Bereich von Tagen.
      Angegeben von:
      getDayRange in Schnittstelle TimeRange<Week>
      Gibt zurück:
      Zeitbereich asl Epoch Millis
    • getFirstEpochMillis

      public long getFirstEpochMillis()
    • getLastEpochMillis

      public long getLastEpochMillis()
    • getEpochMillisRange

      public com.google.common.collect.Range<Long> getEpochMillisRange()
      Beschreibung aus Schnittstelle kopiert: TimeRange
      Konvertiert den Zeitbereich in eine Long-Range, die Epoch-Millisekunden repräsentiert.
      Angegeben von:
      getEpochMillisRange in Schnittstelle TimeRange<Week>
      Gibt zurück:
      Zeitbereich asl Epoch Millis
    • next

      public Week next()
      Beschreibung aus Schnittstelle kopiert: TimeRange
      Gibt das nachfolgende Verzeichnis zurück
      Angegeben von:
      next in Schnittstelle TimeRange<Week>
      Gibt zurück:
      nachfolgendes Verzeichnis
    • previous

      public Week previous()
      Beschreibung aus Schnittstelle kopiert: TimeRange
      Gibt das zeitlich davorliegende Verzeichnis zurück
      Angegeben von:
      previous in Schnittstelle TimeRange<Week>
      Gibt zurück:
      zeitlich direkt vorher liegendes Verzeichnis
    • stepsUntil

      public long stepsUntil(Week other)
      Beschreibung aus Schnittstelle kopiert: TimeRange
      Gibt den Abstand zwischen diesem Zeitbereich und dem angegebenen Zeitbereich zurück.

      Falls other gleich this ist, wird 0 zurückgegeben.

      Falls other gleich this.next() ist, wird 1 zurückgegeben.

      Falls other gleich this.next().next() ist, wird 2 zurückgegeben.

      Falls other gleich this.previous() ist, wird -1 zurückgegeben.

      und So weiter, d. h. diese Methode other - this wenn man annimmt, dass die Zeitbereiche in Richtung Zukunft laufend durchnummeriert werden.

      Angegeben von:
      stepsUntil in Schnittstelle TimeRange<Week>
      Parameter:
      other - Anderer Zeitbereich
      Gibt zurück:
      Anzahl "Schritte" zwischen this und other
    • toString

      public final String toString()
      Gibt eine Zeichenfolgendarstellung dieser Datensatzklasse zurück. Die Darstellung enthält den Namen der Klasse, gefolgt vom Namen und Wert jeder der Datensatzkomponenten.
      Angegeben von:
      toString in Klasse Record
      Gibt zurück:
      eine Zeichenfolgendarstellung dieses Objekts
    • hashCode

      public final int hashCode()
      Gibt einen Hashcodewert für diese Objekt zurück. Der Wert wird vom Hashcode jeder der Datensatzkomponenten abgeleitet.
      Angegeben von:
      hashCode in Klasse Record
      Gibt zurück:
      ein Hashcodewert für dieses Objekt
    • equals

      public final boolean equals(Object o)
      Gibt an, ob ein anderes Objekt diesem gleich ("equal to") ist. Die Objekte sind gleich, wenn das andere Objekt der gleichen Klasse angehört und alle Datensatzkomponenten gleich sind. Alle Komponenten in dieser Datensatzklasse werden verglichen mit "==".
      Angegeben von:
      equals in Klasse Record
      Parameter:
      o - das Objekt, mit dem verglichen wird
      Gibt zurück:
      true, wenn dieses Objekt gleich dem Argument o ist, andernfalls false.
    • internalWeekNumber

      public long internalWeekNumber()
      Gibt den Wert für die Datensatzkomponente internalWeekNumber zurück.
      Gibt zurück:
      Wert der Datensatzkomponente internalWeekNumber