Package de.svws_nrw.davapi.data.caldav
Klasse DataManagerCalDav
java.lang.Object
de.svws_nrw.davapi.data.caldav.DataManagerCalDav
- Bekannte direkte Unterklassen:
DataCalDavEigenerKalender
,DataCalDavOeffentlich
Eine abstrakte Basisklasse für den Zugriff auf Daten für einen Kalendar.
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprotected final @NotNull DBEntityManager
Die Datenbank-Verbindungprotected final @NotNull Schuljahresabschnitt
Die ID des Schuljahresabschnittes bei generierten Kalendern für welche die Daten ermittelt werden sollenprotected final @NotNull CalDavKalenderTyp
Der Typ des Kalenders -
Konstruktorübersicht
KonstruktorenModifiziererKonstruktorBeschreibungprotected
DataManagerCalDav
(@NotNull DBEntityManager conn, long idSchuljahresabschnitt, @NotNull CalDavKalenderTyp typ) Erstellt einen neuen Daten-Manager für den Zugriff auf einen Kalender -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungabstract boolean
deleteEintrag
(@NotNull String idCal, String uid, Long syncToken) 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.getDeletedEintragUIDs
(@NotNull String idCal, long syncToken) Gibt die UIDs von gelöschten Einträgen eines Kalenders seit dem gegegebenen Zeitpunkt zurück.abstract @NotNull List
<KalenderEintrag> getEintraege
(String idCal, boolean withPayload) Gibt die Liste der Einträge aus dem Kalender mit der übergebenen ID zurück.static String
getEintragId
(long id) Gibt die ID für den Eintrag auf Grundlage der übergebenen ID zurück.abstract Kalender
getKalender
(String idCal) Gibt den Kalender mit der übergebenen ID ohne Einträge zurück.static Kalender
mapCollectionToKalender
(@NotNull DavCollection collection) Mappt die Informationen einer DAV-Collection auf einen Kalender.@NotNull KalenderEintrag
mapEmptyContact
(long id) Erstellt einen Kontakt ohne Payload, d.h. nur mit der Kontakt-ID der zugrundliegenden Daten.static @NotNull KalenderEintrag
mapRessourceToEintrag
(@NotNull CalDavKalenderTyp typ, DavRessource res) Mappt die Informationen einer DAV-Ressource auf einen Kalender-Eintrag.abstract String
persistEintrag
(@NotNull KalenderEintrag eintrag) Erzeugt einen neuen Eintrag im Kalender mit den Daten aus dem übergebenen Kalender-Eintrag
-
Felddetails
-
conn
Die Datenbank-Verbindung -
schuljahresabschnitt
Die ID des Schuljahresabschnittes bei generierten Kalendern für welche die Daten ermittelt werden sollen -
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-ZugriffidSchuljahresabschnitt
- die ID des Schuljahresabschnittes, auf welchen sich die Anfrage beziehttyp
- der Typ des Kalenders
-
-
Methodendetails
-
mapEmptyContact
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
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
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 KalenderswithPayload
- 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
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 KalenderssyncToken
- 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 Kalendersuid
- die UID des KalendereintragssyncToken
- 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
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 Kalendersres
- die DAV-Ressource- Gibt zurück:
- der Kalender-Eintrag
-