Package-level declarations
Types
Defines an aggregate root identifier that inherits multiple interfaces to support various functional requirements. As an identifier, it not only identifies the aggregate root but also supports naming, decorator pattern, tenant identification, and value comparison.
Interface defining the contract for entities that have aggregate ID capability. An aggregate ID is used to uniquely identify an aggregate, which is a cluster of related entities and value objects treated as a single unit. In Domain-Driven Design (DDD), aggregates are the basic units for maintaining data consistency.
Interface for entities that have an aggregate name.
Interface for entities that track their creation time.
Interface for entities that can be marked as deleted (soft deletion).
Interface for entities that track the ID of their last processed event.
Interface for entities that track the timestamp of their last processed event.
Interface for entities that track the timestamp of their first processed event.
Interface for entities that track the identity of their first operator.
Interface for objects that can materialize their state into a different representation.
Represents an aggregate with a unique name within a specific bounded context. It inherits from NamedBoundedContext to get the context name and additionally defines the aggregate name.
Decorator interface for named aggregates following the decorator pattern. It inherits from NamedAggregate and delegates to the actual named aggregate implementation. This interface allows adding functionality dynamically without modifying the original aggregate logic.
Interface combining named aggregate capabilities with type information.
Interface for entities that track the identity of their last operator.
Interface for entities that track when their state was last snapshotted.
Interface for entities that maintain a state of a specific type.
Interface for aggregates that have a specific type.
Functions
Compares the current AggregateId object for equality with another object. This method provides business logic equality comparison for AggregateId objects, comparing all relevant properties rather than just reference equality.
Calculates a hash value for the AggregateId.
Calculates the remainder when the ID's hash code is divided by the given divisor.