All Classes Interface Summary Class Summary Exception Summary Annotation Types Summary
| Class |
Description |
| AddNewAggregateSnapshotStrategy |
Strategy for when an aggregate snapshot should be added
|
| AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents |
|
| Aggregate<ID,AGGREGATE_TYPE extends Aggregate<ID,AGGREGATE_TYPE>> |
Common interface that all concrete (classical) Aggregate's must implement.
|
| AggregateException |
|
| AggregateIdResolver<T,ID> |
Interface responsible for resolve the optional aggregate id associated with the type T
Example of usages:
Command - return the aggregate id associated with the command (can return an Optional.empty())
in case server generated id's are used for commands that create a new Aggregate instance)
Event - return the aggregate id associated with the event
State - return the aggregate id associated with the aggregate state event projection
View - return the aggregate id associated with the View event projection
|
| AggregateRoot<ID,EVENT_TYPE extends Event<ID>,AGGREGATE_TYPE extends AggregateRoot<ID,EVENT_TYPE,AGGREGATE_TYPE>> |
A specialized and opinionated mutable Aggregate design
This AggregateRoot is designed to work with Class based Event's that inherit from Event.
This design is deliberate and will manage a lot of things for you as a developer at the cost of some flexibility.
|
| AggregateRoot<ID,EVENT_TYPE,AGGREGATE_TYPE extends AggregateRoot<ID,EVENT_TYPE,AGGREGATE_TYPE>> |
|
| AggregateRootWithState<ID,EVENT_TYPE extends Event<ID>,STATE extends AggregateState<ID,EVENT_TYPE>,AGGREGATE_TYPE extends AggregateRootWithState<ID,EVENT_TYPE,STATE,AGGREGATE_TYPE>> |
|
| AggregateSnapshot<ID,AGGREGATE_IMPL_TYPE> |
|
| AggregateSnapshotDeletionStrategy |
Strategy for which historic aggregate snapshots (i.e.
|
| AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots |
Strategy that deletes any historic aggregate snapshots when a new snapshot is persisted
|
| AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots |
Strategy that keeps all or a specific number of historic aggregate snapshots
|
| AggregateSnapshotRepository |
Repository storing and updating Aggregate instance snapshots
|
| AggregateState<ID,EVENT_TYPE extends Event<ID>> |
|
| AggregateState<ID,EVENT_TYPE,AGGREGATE_TYPE extends AggregateRoot<ID,EVENT_TYPE,AGGREGATE_TYPE>> |
|
| BrokenSnapshot |
|
| CommandHandler<COMMAND,EVENT,ERROR> |
|
| Decider<COMMAND,EVENT,ERROR,STATE> |
Variant of the event sourced Decider pattern, which supports building an Aggregate STATE based on previous EVENT's that relate to the
aggregate instance, and which can handle COMMAND's, whose side effect is either an ERROR or a List of EVENT's (can be an empty list)
|
| DelayedAddAndDeleteAggregateSnapshotDelegate |
|
| Event<ID> |
Based Event type that's built to work in combination with AggregateRoot
All you need to do is to inherit from this class when building your own Event types.
|
| EventHandler |
Methods annotated with this Annotation will automatically be called when an event is being applied or rehydrated on to an Aggregate instance
|
| EventsToPersist<ID,EVENT_TYPE> |
Wrapper object that captures the results of any command handling (e.g.
|
| FlexAggregate<ID,AGGREGATE_TYPE extends FlexAggregate<ID,AGGREGATE_TYPE>> |
Simple, easy and opinionated aggregate that allows you to apply events that don't have any requirements
with regards to inheritance (i.e.
|
| FlexAggregateRepository<ID,AGGREGATE_TYPE extends FlexAggregate<ID,AGGREGATE_TYPE>> |
|
| FlexAggregateRepository.DefaultFlexAggregateRepository<ID,AGGREGATE_TYPE extends FlexAggregate<ID,AGGREGATE_TYPE>> |
|
| Handler<COMMAND,EVENT,ERROR,STATE> |
Decider related interface that is responsible for handling COMMAND(s),whose side effect is either an ERROR or a List of EVENT's (can be an empty list)
|
| HandlerResult<ERROR,EVENT> |
|
| HandlerResult.Error<ERROR,EVENT> |
|
| HandlerResult.Success<ERROR,EVENT> |
|
| InitialEventIsMissingAggregateIdException |
|
| InitialStateProvider<STATE> |
|
| IsStateFinalResolver<STATE> |
Decider related interface that resolves if the aggregate's state is final and no more changes can occur, i.e.
|
| OptimisticAggregateLoadException |
|
| PostgresqlAggregateSnapshotRepository |
|
| StateEvolver<EVENT,STATE> |
A Decider or View related interface, which can apply EVENT<(s) to a aggregate/projection/view STATE instance
|
| StatefulAggregate<ID,EVENT_TYPE,AGGREGATE_TYPE extends StatefulAggregate<ID,EVENT_TYPE,AGGREGATE_TYPE>> |
A stateful Aggregate is the most common form of Aggregate design in Object Oriented languages.
What makes an Aggregate stateful is the fact that any changes, i.e.
|
| StatefulAggregateInMemoryProjector |
Aggregate specific InMemoryProjector
Note: An in memory projection is never associated with a UnitOfWork and any changes to the aggregate
won't automatically be persisted.
|
| StatefulAggregateInstanceFactory |
|
| StatefulAggregateInstanceFactory.ObjenesisAggregateInstanceFactory |
StatefulAggregateInstanceFactory that uses Objenesis to create a new instance of the Aggregate
Please note: Objenesis doesn't initialize fields nor call any constructors, so you Aggregate design needs to take
this into consideration.
All concrete aggregates that extends AggregateRoot have been prepared to be initialized by Objenesis
|
| StatefulAggregateInstanceFactory.ReflectionBasedAggregateInstanceFactory |
|
| StatefulAggregateRepository<ID,EVENT_TYPE,AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID,EVENT_TYPE,AGGREGATE_IMPL_TYPE>> |
|
| StatefulAggregateRepository.DefaultStatefulAggregateRepository<ID,EVENT_TYPE,AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID,EVENT_TYPE,AGGREGATE_IMPL_TYPE>> |
|
| View<EVENT,STATE> |
Variant of the Event Sourced Projection/View concept
|
| WithState<ID,EVENT_TYPE,AGGREGATE_TYPE extends AggregateRoot<ID,EVENT_TYPE,AGGREGATE_TYPE>,AGGREGATE_STATE extends AggregateState<ID,EVENT_TYPE,AGGREGATE_TYPE>> |
Marker interface that indicates that all state and all EventHandler annotated methods
will be hosted with the AggregateState object.
|