Klasse DataManagerCalDav

java.lang.Object
de.svws_nrw.davapi.data.caldav.DataManagerCalDav
Bekannte direkte Unterklassen:
DataCalDavEigenerKalender, DataCalDavOeffentlich

public abstract class DataManagerCalDav extends Object
Eine abstrakte Basisklasse für den Zugriff auf Daten für einen Kalendar.
  • Felddetails

    • conn

      @NotNull protected final @NotNull DBEntityManager conn
      Die Datenbank-Verbindung
    • schuljahresabschnitt

      @NotNull protected final @NotNull Schuljahresabschnitt schuljahresabschnitt
      Die ID des Schuljahresabschnittes bei generierten Kalendern für welche die Daten ermittelt werden sollen
    • typ

      @NotNull protected final @NotNull CalDavKalenderTyp typ
      Der Typ des Kalenders
  • Konstruktordetails

    • DataManagerCalDav

      protected DataManagerCalDav(@NotNull @NotNull DBEntityManager conn, long idSchuljahresabschnitt, @NotNull @NotNull CalDavKalenderTyp typ)
      Erstellt einen neuen Daten-Manager für den Zugriff auf einen Kalender
      Parameter:
      conn - die Verbindung für den Datenbank-Zugriff
      idSchuljahresabschnitt - die ID des Schuljahresabschnittes, auf welchen sich die Anfrage bezieht
      typ - der Typ des Kalenders
  • Methodendetails

    • mapEmptyContact

      @NotNull public @NotNull KalenderEintrag mapEmptyContact(long id)
      Erstellt einen Kontakt ohne Payload, d.h. nur mit der Kontakt-ID der zugrundliegenden Daten.
      Parameter:
      id - die ID der zugrundliegenden Daten (z.B. Schüler-ID)
      Gibt zurück:
      der Kalender-Eintrag ohne Payload
    • getKalender

      public abstract Kalender getKalender(String idCal)
      Gibt den Kalender mit der übergebenen ID ohne Einträge zurück.
      Parameter:
      idCal - die ID des Kalenders
      Gibt zurück:
      der Kalender oder null, wenn die ID ungültig ist
    • getEintragId

      public static String getEintragId(long id)
      Gibt die ID für den Eintrag auf Grundlage der übergebenen ID zurück.
      Parameter:
      id - die ID der zugrundeliegenden Daten
      Gibt zurück:
      die ID für den Eintrag, z.B. "Stundenplan_2024_1_4711"
    • getEintraege

      @NotNull public abstract @NotNull List<KalenderEintrag> getEintraege(String idCal, boolean withPayload)
      Gibt die Liste der Einträge aus dem Kalender mit der übergebenen ID zurück.
      Parameter:
      idCal - die ID des Kalenders
      withPayload - gibt an, ob die eigentlichen Daten bei der Generierung der Einträge mit erstellt werden
      Gibt zurück:
      die Liste mit Einträgen des angegebenen Kalenders.
    • persistEintrag

      public abstract String persistEintrag(@NotNull @NotNull KalenderEintrag eintrag)
      Erzeugt einen neuen Eintrag im Kalender mit den Daten aus dem übergebenen Kalender-Eintrag
      Parameter:
      eintrag - der Kalender-Eintrag
      Gibt zurück:
      die neue Version des gespeicherten Kalender-Eintrags (Entity-Tag) oder null im Fehlerfall
    • getDeletedEintragUIDs

      @NotNull public abstract @NotNull List<String> getDeletedEintragUIDs(@NotNull @NotNull String idCal, long syncToken) throws DavException
      Gibt die UIDs von gelöschten Einträgen eines Kalenders seit dem gegegebenen Zeitpunkt zurück.
      Parameter:
      idCal - die ID des Kalenders
      syncToken - der Zeitpunkt als Millisekunden seit 1970, Timestamp.getTime()
      Gibt zurück:
      eine Liste der Ressourcen-UIDs, welche seit dem gesuchten Zeitpunkt als gelöscht markiert wurden
      Löst aus:
      DavException - im Fehlerfall
    • deleteEintrag

      public abstract boolean deleteEintrag(@NotNull @NotNull String idCal, String uid, Long syncToken) throws DavException
      Entfernt einen Kalendereintrag anhand der UID aus dem Kalender mit der übergebenen ID, sofern der übergebene SyncToken mit dem gespeicherten übereinstimmt, d.h. die Anfrage auf dem aktuellen Kalendereintrag basiert.
      Parameter:
      idCal - die ID des Kalenders
      uid - die UID des Kalendereintrags
      syncToken - der SyncToken aus der Anfrage für den Abgleich der letzten Änderung an der Ressource
      Gibt zurück:
      true, wenn das Löschen erfolgreich war, und ansonsten false
      Löst aus:
      DavException - im Fehlerfall (z.B. fehlende Rechte auf dem Kalender, fehlender Kalendereintrag, abweichendes Synctoken, ...)
    • mapCollectionToKalender

      public static Kalender mapCollectionToKalender(@NotNull @NotNull DavCollection collection)
      Mappt die Informationen einer DAV-Collection auf einen Kalender.
      Parameter:
      collection - die DAV-Collection
      Gibt zurück:
      der Kalender
    • mapRessourceToEintrag

      @NotNull public static @NotNull KalenderEintrag mapRessourceToEintrag(@NotNull @NotNull CalDavKalenderTyp typ, DavRessource res)
      Mappt die Informationen einer DAV-Ressource auf einen Kalender-Eintrag.
      Parameter:
      typ - der Typ des Kalenders
      res - die DAV-Ressource
      Gibt zurück:
      der Kalender-Eintrag