Class UngewisseZeit

java.lang.Object
de.bund.bva.isyfact.datetime.core.UngewisseZeit

public class UngewisseZeit extends Object
Darstellung einer ungewissen Zeit. Eine Zeit ist ungewiss, wenn Teile der Zeit nicht bekannt sind.

Die Klasse ist zur Verwendung im Anwendungskern gedacht.

  • Method Details

    • leer

      public static UngewisseZeit leer()
      Erstellt ein UngewisseZeit, bei der kein Wert gesetzt ist.
      Returns:
      ein UngewisseZeit ohne Stunde, Minute oder Sekunde gesetzt
    • of

      public static UngewisseZeit of(int stunde)
      Erstellt eine UngewisseZeit, bei nur die Stunde bekannt ist.
      Parameters:
      stunde - die Stunde
      Returns:
      eine UngewisseZeit mit der Stunde gesetzt
    • of

      public static UngewisseZeit of(int stunde, int minute)
      Erstellt eine UngewisseZeit, bei der Stunde und Minute bekannt sind.
      Parameters:
      stunde - die Stunde
      minute - die Minute
      Returns:
      eine UngewisseZeit mit der Stunde und Minute gesetzt
    • of

      public static UngewisseZeit of(int stunde, int minute, int sekunde)
      Erstellt eine UngewisseZeit, bei der Stunde, Minute und Sekunde bekannt sind. Damit ist die Zeit nicht mehr ungewiss und kann mit toLocalTime() in eine LocalDateTime konvertiert werden.
      Parameters:
      stunde - die Stunde
      minute - die Minute
      sekunde - die Sekunde
      Returns:
      eine UngewisseZeit mit der Stunde, Minute und Sekunde gesetzt
    • of

      public static UngewisseZeit of(LocalTime vonInklusive, LocalTime bisInklusive)
      Erstellt eine UngewisseZeit bei der Anfang und Ende des Zeitraums übergeben werden.
      Parameters:
      vonInklusive - der Anfang des Zeitraums inklusive, nicht null
      bisInklusive - das Ende des Zeitraums inklusive, nicht null
      Returns:
      eine UngewisseZeit mit dem gesetzten Zeitraum
    • isLeer

      public boolean isLeer()
      Gibt wahr zurück, wenn in dieser UngewisseZeit alle Werte unbekannt sind.
      Returns:
      true wenn alle Werte unbekannt
    • isUngewiss

      public boolean isUngewiss()
      Gibt wahr zurück, wenn in dieser UngewisseZeit mindestens ein Wert unbekannt ist.
      Returns:
      true wenn mindestens ein Wert unbekannt
    • getAnfang

      public LocalTime getAnfang()
      Gibt die LocalTime zurück, die den Anfang des Zeitraums darstellt, der durch diese UngewisseZeit dargestellt wird.
      Returns:
      Anfang des Zeitraums als LocalTime
    • getEnde

      public LocalTime getEnde()
      Gibt die LocalTime zurück, die das Ende (inklusive) des Zeitraums darstellt, der durch diese UngewisseZeit dargestellt wird.
      Returns:
      Ende (inklusive) des Zeitraums als LocalTime
    • getStunde

      public Optional<Integer> getStunde()
      Gibt ein Optional zurück, das die Stunde dieser UngewisseZeit enthält.
      Returns:
      ein Optional mit der Stunde, wenn dieses gesetzt ist, sonst ein leeres Optional
    • getMinute

      public Optional<Integer> getMinute()
      Gibt ein Optional zurück, das die Minute dieser UngewisseZeit enthält. Sind der Anfang und das Ende dieser ungewissen Zeit nicht in der selben Minute, wird ein leeres Optional zurückgegeben.
      Returns:
      ein Optional mit der Minute, wenn gesetzt und eindeutig, sonst ein leeres Optional
    • getSekunde

      public Optional<Integer> getSekunde()
      Gibt ein Optional zurück, das die Sekunde dieser UngewisseZeit enthält. Sind der Anfang und das Ende dieser ungewissen Zeit nicht in der selben Sekunde, wird ein leeres Optional zurückgegeben.
      Returns:
      ein Optional mit der Sekunde, wenn gesetzt und eindeutig, sonst ein leeres Optional
    • toLocalTime

      public Optional<LocalTime> toLocalTime()
      Gibt ein Optional zurück, das diese UngewisseZeit als LocalTime enthält.
      Returns:
      ein Optional mit der LocalTime, wenn eindeutige Werte gesetzt sind, sonst ein leeres Optional
    • parse

      public static UngewisseZeit parse(String text)
      Parst eine ungewisse Zeit.

      Folgende Formate werden unterstützt:

      FallEingabeInterner Zeitraum
      Sekunde unbekannt14:34:xx14:34:00 – 14:34:59
      Sekunde und Minute unbekannt14:xx:xx14:00:00 – 14:59:59
      Zeit komplett unbekanntxx:xx:xxnicht gesetzt (null)
      Parameters:
      text - der Text, der geparst werden soll
      Returns:
      die geparste UngewisseZeit
      Throws:
      DateTimeParseException - wenn der Text nicht geparst werden kann
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Gibt diese UngewisseZeit als String im Format HH:mm.ss zurück. Unbekannte Werte werde mit xx dargestellt, z.B. 14:xx:xx. Ist die Zeit so nicht darstellbar, wird sie als Zeitraum dargestellt, z.B. 12:30:00 - 18:30:00.
      Overrides:
      toString in class Object
      Returns:
      Repräsentation dieser UngewisseZeit als String