|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface AggregateRoot
Interface defining a contract for entities that represent the aggregate root.
AbstractAggregateRoot| Method Summary | |
|---|---|
void |
commitEvents()
Clears the events currently marked as "uncommitted". |
AggregateIdentifier |
getIdentifier()
Returns the identifier of this aggregate. |
int |
getUncommittedEventCount()
Returns the number of uncommitted events currently available in the aggregate. |
DomainEventStream |
getUncommittedEvents()
Returns a DomainEventStream to the events in the aggregate that have been raised since creation or the last commit. |
Long |
getVersion()
Returns the current version number of the aggregate, or null if the aggregate is newly created. |
| Method Detail |
|---|
AggregateIdentifier getIdentifier()
void commitEvents()
int getUncommittedEventCount()
DomainEventStream getUncommittedEvents()
Long getVersion()
null if the aggregate is newly created. This
version must reflect the version number of the aggregate on which changes are applied.
Each time the aggregate is modified and stored in a repository, the version number must be increased by
at least 1. This version number can be used by optimistic locking strategies and detection of conflicting
concurrent modification.
Typically the sequence number of the last committed event on this aggregate is used as version number.
null if no events were ever committed
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||