org.axonframework.eventsourcing
Interface EventStreamDecorator

All Known Subinterfaces:
SnapshotterTrigger
All Known Implementing Classes:
CompositeEventStreamDecorator, EventCountSnapshotterTrigger

public interface EventStreamDecorator

Interface describing a class that can decorates DomainEventStreams when events for aggregates are read or appended.

Since:
0.7
Author:
Allard Buijze

Method Summary
 DomainEventStream decorateForAppend(String aggregateType, EventSourcedAggregateRoot aggregate, DomainEventStream eventStream)
          Called when an event stream is appended to the event store.
 DomainEventStream decorateForRead(String aggregateType, Object aggregateIdentifier, DomainEventStream eventStream)
          Called when an event stream is read from the event store.
 

Method Detail

decorateForRead

DomainEventStream decorateForRead(String aggregateType,
                                  Object aggregateIdentifier,
                                  DomainEventStream eventStream)
Called when an event stream is read from the event store.

Note that a stream is read-once, similar to InputStream. If you read from the stream, make sure to store the read events and pass them to the chain. Usually, it is best to decorate the given eventStream and pass that to the chain.

Parameters:
aggregateType - The type of aggregate events are being read for
aggregateIdentifier - The identifier of the aggregate events are loaded for
eventStream - The eventStream containing the events to append to the event store
Returns:
the decorated event stream

decorateForAppend

DomainEventStream decorateForAppend(String aggregateType,
                                    EventSourcedAggregateRoot aggregate,
                                    DomainEventStream eventStream)
Called when an event stream is appended to the event store.

Note that a stream is read-once, similar to InputStream. If you read from the stream, make sure to store the read events and pass them to the chain. Usually, it is best to decorate the given eventStream and pass that to the chain.

Parameters:
aggregateType - The type of aggregate events are being appended for
aggregate - The aggregate for which the events are being stored
eventStream - The eventStream containing the events to append to the event store
Returns:
the decorated event stream


Copyright © 2010-2016. All Rights Reserved.