1 package se.citerus.dddsample.domain.shared.experimental; 2 3 /** 4 * A domain event is something that is unique, but does not have a lifecycle. 5 * The identity may be explicit, for example the sequence number of a payment, 6 * or it could be derived from various aspects of the event such as where, when and what 7 * has happened. 8 */ 9 public interface DomainEvent<T> { 10 11 /** 12 * @param other The other domain event. 13 * @return <code>true</code> if the given domain event and this event are regarded as being the same event. 14 */ 15 boolean sameEventAs(T other); 16 17 }