video-surveillance-app/src/main/java/me/belkacemi/iotalarm/domain/event/DomainEvent.java

21 lines
592 B
Java
Raw Normal View History

package me.belkacemi.iotalarm.domain.event;
import java.time.Instant;
/**
* Fait metier avere, au passe, immuable.
*
* <p>Scellee : la liste des faits que ce domaine sait produire est fermee et
* connue du compilateur. Toute exhaustivite (routage, projection, audit) est
* donc verifiee a la compilation.</p>
*/
public sealed interface DomainEvent
permits IntrusionDetected, AlarmArmed, AlarmDisarmed {
/** Zone concernee. Ici une seule : le studio. */
String zoneId();
/** Quand le fait s'est produit, du point de vue du domaine. */
Instant occurredAt();
}