1 package se.citerus.dddsample.domain.shared.experimental;
2
3 /**
4 * An entity, as explained in the DDD book.
5 *
6 */
7 public interface Entity<T,ID> {
8
9 /**
10 * Entities compare by identity, not by attributes.
11 *
12 * @param other The other entity.
13 * @return true if the identities are the same, regardles of other attributes.
14 */
15 boolean sameIdentityAs(T other);
16
17 /**
18 * Entities have an identity.
19 *
20 * @return The identity of this entity.
21 */
22 ID identity();
23
24 }