All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.svws_nrw.davapi.data.IKalenderRepository Maven / Gradle / Ivy

Go to download

Diese Bibliothek enthält die Java-Server-Definition der CalDAV und CardDAV-Schnittstelle für die Schulverwaltungssoftware in NRW

The newest version!
package de.svws_nrw.davapi.data;

import java.sql.Timestamp;
import java.util.List;
import java.util.Optional;

import de.svws_nrw.core.data.kalender.Kalender;
import jakarta.validation.constraints.NotNull;

/**
 * Schnittstelle für Adressbuch Repositories. Diese Repositories kapseln den
 * Zugriff auf Adressbuchdaten.
 *
 */
public interface IKalenderRepository {

	/**
	 * Ermittelt ein Kalender über eine Kalender-Id.
	 *
	 * @param kalenderId Id des Kalenders
	 * @param params     QueryParameter zum Filtern des Inhalts des Kalenders
	 * @return Optional eines Kalenders oder Optional.empty(), falls kein Kalender
	 *         mit der angegebenen Id gefunden werden konnte.
	 */
	Optional getKalenderById(String kalenderId, CollectionRessourceQueryParameters params);

	/**
	 * Ermittelt eine Liste aller für den angemeldeten Benutzer verfügbaren
	 * Adressbücher.
	 *
	 * @param params QueryParameter zum Filtern des Inhalts der Adressbuecher
	 * @return Liste verfügbarer Adressbücher.
	 */
	@NotNull
	List getAvailableKalender(CollectionRessourceQueryParameters params);

	/**
	 * Sucht die gelöschten Ressourcen-UIDs einer Ressourcensammlung seit einem
	 * bestimmten Zeitpunkt
	 *
	 * @param id              die ID der Ressourcensammlung
	 * @param syncTokenMillis der Zeitpunkt als Millisekunden seit 1970,
	 *                        {@link Timestamp#getTime()}
	 * @return eine Liste der Ressourcen-UIDs, welche seit dem gesuchten Zeitpunkt
	 *         als gelöscht markiert wurden
	 */
	List getDeletedResourceUIDsSince(String id, Long syncTokenMillis);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy