Package com.reallifedeveloper.common.domain
package com.reallifedeveloper.common.domain
Support classes and interfaces for creating and documenting domain-driven designs.
- Author:
- RealLifeDeveloper
- See Also:
-
ClassDescriptionAn abstract base class that should be used when creating value objects.A domain-driven design aggregate root.An implementation of the
TimeService
interface that uses ajava.time.Clock
.DomainEntity<T,ID extends Serializable> A domain-driven design entity, i.e., an object that is not defined by its attributes, but rather by a thread of continuity and its identity.DomainObject<T>A domain object, i.e., anentity
or avalue object
.Utility class for simplifying error handling.A utility class to simplify working with logs.ObjectSerializer<T extends Serializable>A serializer of objects, i.e., a class that can convert an arbitrary object to a serialized form and back.Repository<T,ID extends Serializable> A mechanism for encapsulating storage, retrieval, and search behavior which emulates a collection of objects.A service for working with "current" time.ValueObject<T>A domain-driven design value object, i.e., an immutable object that contains attributes but has no conceptual identity.