public class AbstractAggregateRoot<A extends AbstractAggregateRoot<A>> extends Object
registerEvent(Object) to capture domain events and
expose them via domainEvents(). The implementation is using the general event publication mechanism implied
by DomainEvents and AfterDomainEventPublication. If in doubt or need to customize anything here,
rather build your own base class and use the annotations directly.| Constructor and Description |
|---|
AbstractAggregateRoot() |
| Modifier and Type | Method and Description |
|---|---|
protected A |
andEvent(Object event)
Adds the given event to the aggregate for later publication when calling a Spring Data repository's save-method.
|
protected A |
andEventsFrom(A aggregate)
Adds all events contained in the given aggregate to the current one.
|
protected void |
clearDomainEvents()
Clears all domain events currently held.
|
protected Collection<Object> |
domainEvents()
All domain events currently captured by the aggregate.
|
protected <T> T |
registerEvent(T event)
Registers the given event object for publication on a call to a Spring Data repository's save methods.
|
protected <T> T registerEvent(T event)
event - must not be null.andEvent(Object)protected void clearDomainEvents()
protected Collection<Object> domainEvents()
protected final A andEventsFrom(A aggregate)
aggregate - must not be null.protected final A andEvent(Object event)
registerEvent(Object) but returns the aggregate instead of the event.event - must not be null.registerEvent(Object)Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.