Package org.jmolecules.ddd.types

Types to define Domain-Driven Design building blocks.
See Also:
  • Interface Summary 
    Interface Description
    AggregateRoot<T extends AggregateRoot<T,​ID>,​ID extends Identifier>
    Identifies an aggregate root, i.e.
    Association<T extends AggregateRoot<T,​ID>,​ID extends Identifier>
    An association to an AggregateRoot.
    Entity<T extends AggregateRoot<T,​?>,​ID>
    Identifies an Entity.
    Identifiable<ID>
    An identifiable type, i.e.
    Identifier
    Marker interface for identifiers.
    Repository<T extends AggregateRoot<T,​ID>,​ID extends Identifier>
    Identifies a Repository.
    ValueObject
    Identifies a value object.
  • Class Summary 
    Class Description
    SimpleAssociation<T extends AggregateRoot<T,​ID>,​ID extends Identifier>
    Simple implementation of Association to effectively only define SimpleAssociation.equals(Object) and SimpleAssociation.hashCode() on Association's static factory methods.