package dev.lions.events; import dev.lions.events.AnalyticsEvent; import dev.lions.exceptions.EventPublicationException; /** * Interface définissant les opérations de publication des événements analytiques. * Cette interface fournit les méthodes nécessaires pour publier des événements * de manière individuelle ou par lot. * * @author Lions Dev Team * @version 1.0 */ public interface AnalyticsEventPublisher { /** * Publie un événement analytique unique. * * @param event L'événement à publier * @throws EventPublicationException Si la publication échoue */ void publish(AnalyticsEvent event) throws EventPublicationException; /** * Publie un lot d'événements analytiques. * * @param events Collection d'événements à publier * @throws EventPublicationException Si la publication d'un des événements échoue */ void publishBatch(Iterable events) throws EventPublicationException; }