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.