A B C D E F G H I K L M N O P R S T U V W 
All Classes All Packages

A

actualLatestEventOrder - Variable in exception dk.cloudcreate.essentials.components.eventsourced.aggregates.OptimisticAggregateLoadException
 
AddNewAggregateSnapshotStrategy - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Strategy for when an aggregate snapshot should be added
AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
 
AddNewSnapshotWhenBehindByNumberOfEvents(long) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents
 
Aggregate<ID,​AGGREGATE_TYPE extends Aggregate<ID,​AGGREGATE_TYPE>> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates
Common interface that all concrete (classical) Aggregate's must implement.
AggregateException - Exception in dk.cloudcreate.essentials.components.eventsourced.aggregates
 
AggregateException() - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.AggregateException
 
AggregateException(String) - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.AggregateException
 
AggregateException(String, Throwable) - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.AggregateException
 
AggregateException(String, Throwable, boolean, boolean) - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.AggregateException
 
AggregateException(Throwable) - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.AggregateException
 
aggregateId - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
The id of the aggregate this relates to
aggregateId - Variable in exception dk.cloudcreate.essentials.components.eventsourced.aggregates.OptimisticAggregateLoadException
 
aggregateId - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
the identifier for the aggregate instance
aggregateId() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.Aggregate
The id of the aggregate (aka.
aggregateId() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
 
aggregateId() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
 
aggregateId() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.Event
Get the id of the aggregate this event relates to.
aggregateId() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
aggregateId() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
 
aggregateId() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
 
aggregateId(ID) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.Event
Set the id of the aggregate this event relates to.
AggregateIdResolver<T,​ID> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
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
aggregateIdType() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
The type of aggregate ID this repository uses
aggregateIdType() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
 
aggregateIdType() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
The type of aggregate ID this repository uses
aggregateIdType() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
 
aggregateImplType - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
the concrete aggregate implementation type
AggregateRoot<ID,​EVENT_TYPE extends Event<ID>,​AGGREGATE_TYPE extends AggregateRoot<ID,​EVENT_TYPE,​AGGREGATE_TYPE>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic
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>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern
A modern opinionated interpretation of the classic AggregateRoot design, where the Event's are mutable.
The modern interpretation doesn't specify any requirement on the design of the Events, they can be Java 17+ records or simple POJO's.

Note: The AggregateRoot works best in combination with the StatefulAggregateRepository that's configured to use the StatefulAggregateInstanceFactory.reflectionBasedAggregateRootFactory(), because the AggregateRoot needs to be provided its aggregated id through the AggregateRoot(Object) constructor!

The modern AggregateRoot supports keeping the state projection and EventHandler annotated methods within the AggregateRoot instance or within an AggregateState instance.
If you wish to keep the state projection and EventHandler annotated methods within an AggregateState instance, then you only need to implement the WithState interface:
AggregateRoot() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
 
AggregateRoot() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Used for AggregateSnapshot deserialization
AggregateRoot(ID) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Used for rehydration
aggregateRootImplementationType() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
The type of FlexAggregate implementation this repository handles
aggregateRootImplementationType() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
 
aggregateRootImplementationType() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
The type of StatefulAggregate implementation this repository handles
aggregateRootImplementationType() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
 
AggregateRootWithState<ID,​EVENT_TYPE extends Event<ID>,​STATE extends AggregateState<ID,​EVENT_TYPE>,​AGGREGATE_TYPE extends AggregateRootWithState<ID,​EVENT_TYPE,​STATE,​AGGREGATE_TYPE>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state
Variant of the AggregateRoot pattern where the aggregate's state and all EventHandler annotated methods are placed within the concrete AggregateState object.
When the AggregateRootWithState is combined with AggregateState, then the AggregateRootWithState will contain the command methods and the AggregateState contains the state fields and the EventHandler annotated methods.
AggregateRootWithState() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
aggregateSnapshot - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
The aggregate snapshot loaded from the repository - if this is of type BrokenSnapshot then the Aggregate snapshot couldn't be deserialized
AggregateSnapshot<ID,​AGGREGATE_IMPL_TYPE> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Aggregate snapshot loaded using loadSnapshot(AggregateType, Object, Class)
AggregateSnapshot(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, AGGREGATE_IMPL_TYPE, EventOrder) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
 
AggregateSnapshotDeletionStrategy - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Strategy for which historic aggregate snapshots (i.e.
AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Strategy that deletes any historic aggregate snapshots when a new snapshot is persisted
AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Strategy that keeps all or a specific number of historic aggregate snapshots
AggregateSnapshotRepository - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Repository storing and updating Aggregate instance snapshots
AggregateState<ID,​EVENT_TYPE extends Event<ID>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state
Base class for the state object associated with AggregateRootWithState.
When this is combined with the AggregateRootWithState when the AggregateRootWithState will contain the command methods and the AggregateState contains the state fields and the EventHandler annotated methods.
AggregateState<ID,​EVENT_TYPE,​AGGREGATE_TYPE extends AggregateRoot<ID,​EVENT_TYPE,​AGGREGATE_TYPE>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern
Aggregate state object associated with a given AggregateRoot instance (see AggregateState.getAggregate())
Example:
AggregateState() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
 
AggregateState() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateState
 
aggregateType - Variable in exception dk.cloudcreate.essentials.components.eventsourced.aggregates.OptimisticAggregateLoadException
 
aggregateType - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
the name of the aggregate's event stream
aggregateType() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
The type of AggregateType this repository is using to persist Events
aggregateType() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
 
aggregateType() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
The type of AggregateType this repository is using to persist Events
aggregateType() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
 
aggregateUpdated(AGGREGATE_IMPL_TYPE, AggregateEventStream<ID>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
Callback from an Aggregate Repository to notify that the aggregate has been updated
aggregateUpdated(AGGREGATE_IMPL_TYPE, AggregateEventStream<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
aggregateUpdated(AGGREGATE_IMPL_TYPE, AggregateEventStream<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
append(EventsToPersist<ID, EVENT_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Immutable method that appends all events in appendEventsToPersist to the EventsToPersist.events in this instance.
apply(EVENT_TYPE) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Apply a new non persisted/uncommitted Event to this aggregate instance.
If it is the very FIRST Event that is being applied then Event.aggregateId() MUST return the ID of the aggregate the event relates to
Every consecutive Event applied will have its Event.aggregateId(Object) method called IF it doesn't already have a value.
apply(EVENT_TYPE) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
apply(EVENT_TYPE) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
Apply a new non persisted/uncommitted Event to this aggregate instance.
If it is the very FIRST Event that is being applied then Event.aggregateId() MUST return the ID of the aggregate the event relates to
Every consecutive Event applied will have its Event.aggregateId(Object) method called IF it doesn't already have a value.
apply(EVENT_TYPE) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Apply a new non persisted/uncommitted Event to this aggregate instance.
apply(Function<EventOrder, EVENT_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Apply a new non persisted/uncommitted Event to this aggregate instance.
applyEvent(EVENT, STATE) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.StateEvolver
Apply the EVENT to the aggregate/projection/view STATE instance
Note: This method is called evolve in the decider pattern
applyEvents(StateEvolver<EVENT, STATE>, STATE, Stream<EVENT>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.StateEvolver
Perform a left-fold over the eventStream using the initialState as the initial state
applyEventToTheAggregate(Event<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
Apply the event to the aggregate instance to reflect the event as a state change to the aggregate
The default implementation will automatically call any (private) methods annotated with EventHandler
applyEventToTheAggregateState(Event<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Apply the event to the aggregate instance to reflect the event as a state change to the aggregate
The default implementation will automatically call any (private) methods annotated with EventHandler
applyEventToTheAggregateState(Object) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Apply the event to the aggregate instance to reflect the event as a state change to the aggregate
The default implementation will automatically call any (private) methods annotated with EventHandler
applyRehydratedEventToTheAggregate(Object) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Apply the previously recorded/persisted event (aka historic event) to the aggregate instance to reflect the event as a state change to the aggregate
The default implementation will automatically call any (private) methods annotated with EventHandler
asError() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
asSuccess() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult

B

BrokenSnapshot - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
AggregateSnapshot.aggregateSnapshot value that's returned from AggregateSnapshotRepository in case the Aggregate snapshot couldn't be deserialized
BrokenSnapshot(Exception) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.BrokenSnapshot
 

C

cause - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.BrokenSnapshot
 
CommandHandler<COMMAND,​EVENT,​ERROR> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Command Handler which is responsible for loading any existing Aggregate STATE from the underlying EventStore (see CommandHandler.deciderBasedCommandHandler(ConfigurableEventStore, AggregateType, Class, AggregateIdResolver, AggregateIdResolver, AggregateSnapshotRepository, Class, Decider)) and coordinate persisting any changes to the Aggregate, in the form of EVENT's, to the EventStore as part of an active UnitOfWork (if one exists)
The actual logic is delegated to an instance of a Decider
create(ID, Class<AGGREGATE>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory
Create an instance of the Aggregate
create(ID, Class<AGGREGATE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory.ObjenesisAggregateInstanceFactory
 
create(ID, Class<AGGREGATE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory.ReflectionBasedAggregateInstanceFactory
 

D

decider(Handler<COMMAND, EVENT, ERROR, STATE>, InitialStateProvider<STATE>, StateEvolver<EVENT, STATE>, IsStateFinalResolver<STATE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.Decider
Factory method for creating a Decider instance from instances of the various Decider related interfaces
Decider<COMMAND,​EVENT,​ERROR,​STATE> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
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)
deciderBasedCommandHandler(ConfigurableEventStore<CONFIG>, AggregateType, Class<ID>, AggregateIdResolver<COMMAND, ID>, AggregateIdResolver<EVENT, ID>, AggregateSnapshotRepository, Class<STATE>, Decider<COMMAND, EVENT, ERROR, STATE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.CommandHandler
Create an instance of a CommandHandler that is responsible for loading any existing Aggregate STATE from the underlying EventStore and coordinate persisting any changes to the Aggregate, in the form of EVENT's, to the EventStore as part of an active UnitOfWork (if one exists)
The actual logic is delegated to an instance of a Decider
DEFAULT_AGGREGATE_SNAPSHOTS_TABLE_NAME - Static variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
DEFAULT_REFLECTION_BASED_CONSTRUCTOR_AGGREGATE_ROOT_FACTORY - Static variable in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory
An StatefulAggregateInstanceFactory that calls the default no-arguments constructor on the concrete Aggregate type to create a new instance of the Aggregate
DelayedAddAndDeleteAggregateSnapshotDelegate - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Delegating AggregateSnapshotRepository which directly delegates all operations to the provided delegateRepository, except for aggregateUpdated(Object, AggregateEventStream), deleteSnapshots(AggregateType, Object, Class, List), which are performed asynchronously in the background.
This ensures that expensive update/clean-up for aggregate snapshots in the database don't affect aggregate persistence performance.
DelayedAddAndDeleteAggregateSnapshotDelegate(AggregateSnapshotRepository) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
delegateTo(AggregateSnapshotRepository) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
deleteAllHistoricSnapshots() - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy
Strategy that deletes any historic aggregate snapshots when a new aggregate snapshot is persisted
DeleteAllHistoricSnapshots() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots
 
deleteAllSnapshots(Class<AGGREGATE_IMPL_TYPE>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
Delete all snapshots for the given aggregate implementation type
deleteAllSnapshots(Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
deleteAllSnapshots(Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
deleteSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
Delete all snapshots for the given aggregate instance with the given aggregate implementation type
deleteSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
deleteSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
deleteSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, List<EventOrder>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
Delete all snapshots with a given AggregateSnapshot.eventOrderOfLastIncludedEvent for the given aggregate instance, with the given aggregate implementation type
deleteSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, List<EventOrder>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
deleteSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, List<EventOrder>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
dk.cloudcreate.essentials.components.eventsourced.aggregates - module dk.cloudcreate.essentials.components.eventsourced.aggregates
 
dk.cloudcreate.essentials.components.eventsourced.aggregates - package dk.cloudcreate.essentials.components.eventsourced.aggregates
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.decider - package dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.flex - package dk.cloudcreate.essentials.components.eventsourced.aggregates.flex
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot - package dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful - package dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic - package dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state - package dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state
 
dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern - package dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern
 

E

equals(Object) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents
 
equals(Object) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
 
equals(Object) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
 
error() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Error
 
error(ERROR) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Factory method for returning an ERROR from Handler.handle(Object, Object)
Error(ERROR) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Error
Create an Error variant of the HandlerResult
Event<ID> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic
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.
Event() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.Event
 
EventHandler - Annotation Type in dk.cloudcreate.essentials.components.eventsourced.aggregates
Methods annotated with this Annotation will automatically be called when an event is being applied or rehydrated on to an Aggregate instance
eventOrder() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.Event
Contains the order of the event relative to the aggregate instance (the Event.aggregateId) it relates to
This is also commonly called the sequenceNumber and it's a sequential ever growing number that tracks the order in which events have been stored in the EventStore related to a specific aggregate instance (as opposed to the globalOrder that contains the order of ALL events related to a given AggregateType)
eventOrder(EventOrder) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.Event
Set the event order - called by AggregateRoot
eventOrderOfLastAppliedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
eventOrderOfLastAppliedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
eventOrderOfLastAppliedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
eventOrderOfLastAppliedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
 
eventOrderOfLastIncludedEvent - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
The EventOrder of the last Event that was included in the snapshot
eventOrderOfLastRehydratedEvent - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
(Zero based event order) contains the eventOrder for the last (previous/historic) event applied during AggregateRoot.rehydrate(AggregateEventStream)/FlexAggregate.rehydrate(AggregateEventStream).
eventOrderOfLastRehydratedEvent() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.Aggregate
Get the eventOrder of the last event during aggregate hydration (using the Aggregate.rehydrate(AggregateEventStream) method)
eventOrderOfLastRehydratedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
eventOrderOfLastRehydratedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
 
eventOrderOfLastRehydratedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
eventOrderOfLastRehydratedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
 
events - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
 
events() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Success
 
events(FlexAggregate<ID, AGGREGATE_TYPE>, EVENT_TYPE...) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Wrap the events that should be persisted relates to the given aggregate's command handling
events(EVENT...) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Factory method for returning a list of EVENT's from Handler.handle(Object, Object)
events(ID, EventOrder, EVENT_TYPE...) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Wrap the events that should be persisted for this existing aggregate
events(Object...) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Wrap the events that should be persisted as a side effect of a command method
events(List<EVENT>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Factory method for returning a list of EVENT's from Handler.handle(Object, Object)
EventsToPersist<ID,​EVENT_TYPE> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates
Wrapper object that captures the results of any command handling (e.g.
EventsToPersist(ID, EventOrder, EVENT_TYPE...) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
 
EventsToPersist(ID, EventOrder, List<EVENT_TYPE>) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
 
eventStore() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
The EventStore that's being used for support
eventStore() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
The EventStore that's being used for support
expectedLatestEventOrder - Variable in exception dk.cloudcreate.essentials.components.eventsourced.aggregates.OptimisticAggregateLoadException
 

F

findMostRecentLastIncludedEventOrderFor(String, String, HandleAwareUnitOfWork) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
FlexAggregate<ID,​AGGREGATE_TYPE extends FlexAggregate<ID,​AGGREGATE_TYPE>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.flex
Simple, easy and opinionated aggregate that allows you to apply events that don't have any requirements with regards to inheritance (i.e.
FlexAggregate() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
 
FlexAggregateRepository<ID,​AGGREGATE_TYPE extends FlexAggregate<ID,​AGGREGATE_TYPE>> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.flex
Opinionated FlexAggregate Repository that's built to persist and load a specific FlexAggregate type in combination with EventStore, EventStoreUnitOfWorkFactory and a FlexAggregateRepository.
FlexAggregateRepository.DefaultFlexAggregateRepository<ID,​AGGREGATE_TYPE extends FlexAggregate<ID,​AGGREGATE_TYPE>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.flex
 
from(ConfigurableEventStore<CONFIG>, CONFIG, StatefulAggregateInstanceFactory, Class<AGGREGATE_IMPL_TYPE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - the EventStore will be configured with the supplied eventStreamConfiguration.
This factory method will try to resolve the Aggregate Id type from the aggregateImplementationType type parameters
If that fails please use StatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class, Class)
from(ConfigurableEventStore<CONFIG>, CONFIG, StatefulAggregateInstanceFactory, Class<AGGREGATE_IMPL_TYPE>, AggregateSnapshotRepository) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - the EventStore will be configured with the supplied eventStreamConfiguration.
This factory method will try to resolve the Aggregate Id type from the aggregateImplementationType type parameters
If that fails please use StatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class, Class)
from(ConfigurableEventStore<CONFIG>, CONFIG, StatefulAggregateInstanceFactory, Class<ID>, Class<AGGREGATE_IMPL_TYPE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - the EventStore will be configured with the supplied eventStreamConfiguration
from(ConfigurableEventStore<CONFIG>, CONFIG, StatefulAggregateInstanceFactory, Class<ID>, Class<AGGREGATE_IMPL_TYPE>, AggregateSnapshotRepository) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - the EventStore will be configured with the supplied eventStreamConfiguration
from(ConfigurableEventStore<CONFIG>, CONFIG, EventStoreUnitOfWorkFactory, Class<ID>, Class<AGGREGATE_TYPE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Create a FlexAggregateRepository - the EventStore will be configured with the supplied eventStreamConfiguration.
from(ConfigurableEventStore<CONFIG>, AggregateType, StatefulAggregateInstanceFactory, Class<AGGREGATE_IMPL_TYPE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - if missing, the EventStore will be configured with the default AggregateEventStreamConfiguration based on the AggregateEventStreamConfigurationFactory that the EventStore's AggregateEventStreamPersistenceStrategy is configured with
This factory method will try to resolve the Aggregate Id type from the aggregateImplementationType type parameters
If that fails please use StatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class, Class)
from(ConfigurableEventStore<CONFIG>, AggregateType, StatefulAggregateInstanceFactory, Class<AGGREGATE_IMPL_TYPE>, AggregateSnapshotRepository) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - if missing, the EventStore will be configured with the default AggregateEventStreamConfiguration based on the AggregateEventStreamConfigurationFactory that the EventStore's AggregateEventStreamPersistenceStrategy is configured with
This factory method will try to resolve the Aggregate Id type from the aggregateImplementationType type parameters
If that fails please use StatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class, Class)
from(ConfigurableEventStore<CONFIG>, AggregateType, StatefulAggregateInstanceFactory, Class<ID>, Class<AGGREGATE_IMPL_TYPE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - if missing, the EventStore will be configured with the default AggregateEventStreamConfiguration based on the AggregateEventStreamConfigurationFactory that the EventStore's AggregateEventStreamPersistenceStrategy is configured with
from(ConfigurableEventStore<CONFIG>, AggregateType, StatefulAggregateInstanceFactory, Class<ID>, Class<AGGREGATE_IMPL_TYPE>, AggregateSnapshotRepository) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Create an StatefulAggregateRepository instance that supports loading and persisting the given Aggregate type - if missing, the EventStore will be configured with the default AggregateEventStreamConfiguration based on the AggregateEventStreamConfigurationFactory that the EventStore's AggregateEventStreamPersistenceStrategy is configured with
from(ConfigurableEventStore<CONFIG>, AggregateType, EventStoreUnitOfWorkFactory, Class<ID>, Class<AGGREGATE_TYPE>) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Create a FlexAggregateRepository - if missing, the EventStore will be configured with the default AggregateEventStreamConfiguration based on the AggregateEventStreamConfigurationFactory that the EventStore's AggregateEventStreamPersistenceStrategy is configured with

G

get(int) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Get event at index.
getAggregate() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateState
Get access to the aggregate instance this state object is associated with
getEventOrderOfLastAppliedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
 
getEventOrderOfLastRehydratedEvent() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
 
getNumberOfEventsBetweenAddingANewSnapshot() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents
 
getNumberOfHistoricSnapshotsToKeep() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
 
getUncommittedChanges() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
The the events that have been applied to this aggregate instance but not yet persisted to the underlying EventStore
getUncommittedChanges() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
getUncommittedChanges() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
 
getUncommittedChanges() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregate
Query any changes to the Aggregate, i.e.

H

handle(COMMAND) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.CommandHandler
The execute method is responsible for handling a COMMAND, which can either result in an ERROR or a list of EVENT's.
Note: This method is called decide in the decider pattern
Idempotent handling of a COMMAND will result in an empty list of EVENT's
handle(COMMAND, STATE) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.Handler
The execute method is responsible for handling a COMMAND, which can either result in an ERROR or a list of EVENT's (can be an empty list).
Note: This method is called decide in the decider pattern
Idempotent handling of a COMMAND will result in an empty list of EVENT's
Handler<COMMAND,​EVENT,​ERROR,​STATE> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
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> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Captures that result of calling a Handler.handle(Object, Object) for a specific COMMAND and aggregate STATE
Concrete instances can either be of type HandlerResult.Success or type HandlerResult.Error
HandlerResult.Error<ERROR,​EVENT> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Error variant of the HandlerResult
HandlerResult.Success<ERROR,​EVENT> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Success variant of the HandlerResult
hasBeenRehydrated() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.Aggregate
Has the aggregate been initialized using previously recorded/persisted events (aka.
hasBeenRehydrated() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Has the aggregate been initialized using previously recorded/persisted events?
hasBeenRehydrated() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
hasBeenRehydrated() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
hasBeenRehydrated() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
 
hashCode() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents
 
hashCode() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
 
hashCode() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
 

I

initialAggregateEvents(ID, EVENT_TYPE...) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Wrap the events that should be persisted for this new aggregate
InitialEventIsMissingAggregateIdException - Exception in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic
 
InitialEventIsMissingAggregateIdException(String) - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.InitialEventIsMissingAggregateIdException
 
initialize() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
 
initialize() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Initialize the aggregate, e.g.
initialize() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
Override this method to initialize the AggregateRootWithState.state variable in case the AggregateRootWithState.resolveStateImplementationClass() doesn't fit the requirements
initialize() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Initialize the aggregate, e.g.
initialState() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.InitialStateProvider
The initial aggregate/projection/view STATE before any EVENT's have been applied / projected onto the aggregate/projection/view STATE
Note: The default implementation returns a null aggregate/projection/view STATE
InitialStateProvider<STATE> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Decider or View related interface, which provides the Initial STATE for a given aggregate/projection/view.
The InitialStateProvider works in collaboration with the StateEvolver in the context of the Decider or View pattern
isCommitted() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
 
isEmpty() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
isError() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Error
 
isError() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Did the command handling result in an error?
isError() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Success
 
isFinal(STATE) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.Decider
Return true from this method IF the aggregate's state is final and no more changes can occur, i.e.
isFinal(STATE) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.IsStateFinalResolver
Return true from this method IF the aggregate's state is final and no more changes can occur, i.e.
isRehydrating() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Is the event being supplied to AggregateRoot.applyEventToTheAggregateState(Event) a previously persisted (i.e.
isRehydrating() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
Is the event being supplied to AggregateState.applyEventToTheAggregate(Event) a historic event
isRehydrating() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Is the event being supplied to AggregateRoot.applyEventToTheAggregateState(Object) a previously persisted event (i.e.
IsStateFinalResolver<STATE> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Decider related interface that resolves if the aggregate's state is final and no more changes can occur, i.e.
isSuccess() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Was the result of the command handling a success?

K

keepALimitedNumberOfHistoricSnapshots(long) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy
Strategy that keeps a specific number historic aggregate snapshots
keepALimitedNumberOfHistoricSnapshots(long) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
Strategy that keeps all historic aggregate snapshots
keepAllHistoricSnapshots() - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy
Strategy that keeps all historic aggregate snapshots
keepAllHistoricSnapshots() - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
Strategy that keeps all historic aggregate snapshots
KeepHistoricSnapshots() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
Strategy that keeps all historic aggregate snapshots
KeepHistoricSnapshots(long) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
Strategy that keeps a specific number historic aggregate snapshots

L

load(ID) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Load an FlexAggregate instance with the specified aggregateId from the underlying EventStore
The loaded aggregate instance will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
load(ID) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Load an StatefulAggregate instance with the specified aggregateId from the underlying EventStore
The loaded aggregate instance will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
load(ID, long) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Load an FlexAggregate instance with the specified aggregateId from the underlying EventStore
The loaded aggregate instance will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
load(ID, EventOrder) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Load an StatefulAggregate instance with the specified aggregateId from the underlying EventStore
The loaded aggregate instance will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
loadAllSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, boolean) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
Load all AggregateSnapshot's related to the given aggregate instance
loadAllSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, boolean) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
loadAllSnapshots(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>, boolean) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
loadAllSnapshots(String, String, boolean, HandleAwareUnitOfWork) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
loadSnapshot(AggregateType, ID, EventOrder, Class<AGGREGATE_IMPL_TYPE>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
 
loadSnapshot(AggregateType, ID, EventOrder, Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 
loadSnapshot(AggregateType, ID, EventOrder, Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
 
loadSnapshot(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
 
loadSnapshot(AggregateType, ID, Class<AGGREGATE_IMPL_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.DelayedAddAndDeleteAggregateSnapshotDelegate
 

M

markChangesAsCommitted() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Resets the AggregateRoot.getUncommittedChanges() - effectively marking them as having been persisted and committed to the underlying EventStore
markChangesAsCommitted() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
markChangesAsCommitted() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
Resets the AggregateState.uncommittedChanges() - effectively marking them as having been persisted and committed to the underlying EventStore
markChangesAsCommitted() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Resets the AggregateRoot.getUncommittedChanges() - effectively marking them as having been persisted and committed to the underlying EventStore
markChangesAsCommitted() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregate
Resets the StatefulAggregate.getUncommittedChanges() - effectively marking them as having been persisted and committed to the underlying EventStore
markEventsAsCommitted() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
 

N

newAggregateEvents(ID, Object...) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Wrap the events that should be persisted for this new aggregate
noEvents() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Creates an empty EventsToPersist which is handy for a commanded method didn't have a side-effect (e.g.
noEvents(FlexAggregate<ID, AGGREGATE_TYPE>) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Creates an empty EventsToPersist which is handy for a commanded method didn't have a side-effect (e.g.
noEvents(ID) - Static method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Creates an empty EventsToPersist which is handy for a commanded method didn't have a side-effect (e.g.

O

OBJENESIS_AGGREGATE_ROOT_FACTORY - Static variable in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory
An 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 StatefulAggregate have been prepared to be initialized by Objenesis
ObjenesisAggregateInstanceFactory() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory.ObjenesisAggregateInstanceFactory
 
objenesisAggregateRootFactory() - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory
Returns an 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
OptimisticAggregateLoadException - Exception in dk.cloudcreate.essentials.components.eventsourced.aggregates
 
OptimisticAggregateLoadException(Object, Class<? extends Aggregate<?, ?>>, EventOrder, EventOrder) - Constructor for exception dk.cloudcreate.essentials.components.eventsourced.aggregates.OptimisticAggregateLoadException
 

P

persist(AGGREGATE_IMPL_TYPE) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
persist(EventsToPersist<ID, Object>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
 
persist(EventsToPersist<ID, Object>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Associate a newly created and not yet persisted FlexAggregate instance with the UnitOfWorkFactory.getRequiredUnitOfWork()
Any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
PostgresqlAggregateSnapshotRepository - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
 
PostgresqlAggregateSnapshotRepository(ConfigurableEventStore<? extends AggregateEventStreamConfiguration>, HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, JSONEventSerializer) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
Create a new durable Postgresql version of the PostgresqlAggregateSnapshotRepository that will persist AggregateSnapshot's into the PostgresqlAggregateSnapshotRepository.DEFAULT_AGGREGATE_SNAPSHOTS_TABLE_NAME table
Adding new AggregateSnapshot's when it's behind by 10 events AND Deleting All Historic AggregateSnapshot's
PostgresqlAggregateSnapshotRepository(ConfigurableEventStore<? extends AggregateEventStreamConfiguration>, HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, JSONEventSerializer, AddNewAggregateSnapshotStrategy, AggregateSnapshotDeletionStrategy) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
PostgresqlAggregateSnapshotRepository(ConfigurableEventStore<? extends AggregateEventStreamConfiguration>, HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, String, JSONEventSerializer) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
Create a new durable Postgresql version of the PostgresqlAggregateSnapshotRepository
Adding new AggregateSnapshot's when it's behind by 10 events AND Deleting All Historic AggregateSnapshot's
PostgresqlAggregateSnapshotRepository(ConfigurableEventStore<? extends AggregateEventStreamConfiguration>, HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, String, JSONEventSerializer, AddNewAggregateSnapshotStrategy, AggregateSnapshotDeletionStrategy) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
Create a new durable Postgresql version of the PostgresqlAggregateSnapshotRepository
PostgresqlAggregateSnapshotRepository(ConfigurableEventStore<? extends AggregateEventStreamConfiguration>, HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, Optional<String>, JSONEventSerializer, AddNewAggregateSnapshotStrategy, AggregateSnapshotDeletionStrategy) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.PostgresqlAggregateSnapshotRepository
Create a new durable Postgresql version of the PostgresqlAggregateSnapshotRepository
projectEvents(AggregateType, ID, Class<PROJECTION>, EventStore) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInMemoryProjector
 

R

ReflectionBasedAggregateInstanceFactory() - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory.ReflectionBasedAggregateInstanceFactory
 
reflectionBasedAggregateRootFactory() - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInstanceFactory
Returns an StatefulAggregateInstanceFactory that calls the default no-arguments constructor on the concrete Aggregate type to create a new instance of the Aggregate
rehydrate(EventsToPersist<ID, Object>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Initialize an aggregate instance from EventsToPersist
Effectively performs a leftFold over all the previous events related to this aggregate instance
rehydrate(AggregateEventStream<ID>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.Aggregate
Effectively performs a leftFold over all the previously persisted events related to this aggregate instance
rehydrate(AggregateEventStream<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Initialize an aggregate instance from historic events.
Effectively performs a leftFold over all the previous persisted events related to this aggregate instance
rehydrate(AggregateEventStream<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Effectively performs a leftFold over all the previously persisted events related to this aggregate instance
rehydrate(AggregateEventStream<ID>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Effectively performs a leftFold over all the previously persisted events related to this aggregate instance
rehydrate(ID, List<Object>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
 
rehydrate(ID, Stream<Object>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregate
Effectively performs a leftFold over all the previous events related to this aggregate instance
rehydrate(Stream<EVENT_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.AggregateRoot
Effectively performs a leftFold over all the previous events related to this aggregate instance
rehydrate(Stream<EVENT_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
rehydrate(Stream<EVENT_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
 
rehydrate(Stream<EVENT_TYPE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Effectively performs a leftFold over all the previous events related to this aggregate instance
requiresExistingSnapshotDetailsToDetermineWhichAggregateSnapshotsToDelete() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots
 
requiresExistingSnapshotDetailsToDetermineWhichAggregateSnapshotsToDelete() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
 
requiresExistingSnapshotDetailsToDetermineWhichAggregateSnapshotsToDelete() - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy
Guard method that determines if Aggregate Snapshot statistics are required in order to determine which Snapshots to delete
resolveFrom(T) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.AggregateIdResolver
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
resolveSnapshotsToDelete(List<AggregateSnapshot<ID, AGGREGATE_IMPL_TYPE>>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots
 
resolveSnapshotsToDelete(List<AggregateSnapshot<ID, AGGREGATE_IMPL_TYPE>>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
 
resolveSnapshotsToDelete(List<AggregateSnapshot<ID, AGGREGATE_IMPL_TYPE>>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy
Out of all the existing snapshots (loaded without the snapshot payload), return the AggregateSnapshot's that should be deleted
This method is called just prior to adding a new AggregateSnapshot, so if the purpose it to keep 3 snapshots, and we already have 3 snapshots, then this method should return a Stream containing the oldest snapshot, which will then be deleted
resolveStateImplementationClass() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
Override this method to provide a non reflection based look up of the Type Argument provided to the AggregateRootWithState class
resolveStateImplementationClass() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Override this method to provide a non reflection based look up of the Type Argument provided to the AggregateRoot class

S

save(AGGREGATE_IMPL_TYPE) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
 
save(AGGREGATE_IMPL_TYPE) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Save/Associate a newly created and not yet persisted StatefulAggregate instance with the UnitOfWorkFactory.getRequiredUnitOfWork()
Any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
shouldANewAggregateSnapshotBeAdded(AGGREGATE_IMPL_TYPE, AggregateEventStream<ID>, Optional<EventOrder>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents
 
shouldANewAggregateSnapshotBeAdded(AGGREGATE_IMPL_TYPE, AggregateEventStream<ID>, Optional<EventOrder>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy
Should a new aggregate snapshot be added based on
shouldFailWith(ERROR) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Test oriented method that verify that the HandlerResult HandlerResult.isError() and the HandlerResult.Error.error() is exactly same as the error parameter
shouldSucceedWith(EVENT...) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Test oriented method that verify that the HandlerResult HandlerResult.isSuccess() and the HandlerResult.Success.events() contains exactly same events as the events parameter
shouldSucceedWith(List<EVENT>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult
Test oriented method that verify that the HandlerResult HandlerResult.isSuccess() and the HandlerResult.Success.events() contains exactly same events as the events parameter
size() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Number of events.
state - Variable in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateRootWithState
 
state() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
If the aggregate implements WithState then you can call this method to access the state object
This method requires that the return type information is available at compile time:
state(Class<STATE>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern.AggregateRoot
Variant of the AggregateRoot.state() where the concrete State type is specified in the argument
If the aggregate implements WithState then you can call this method to access the state object
StateEvolver<EVENT,​STATE> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
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>> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
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 - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
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.
StatefulAggregateInMemoryProjector(StatefulAggregateInstanceFactory) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInMemoryProjector
 
StatefulAggregateInMemoryProjector(StatefulAggregateInstanceFactory, AggregateSnapshotRepository) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInMemoryProjector
 
StatefulAggregateInstanceFactory - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
Factory that helps the StatefulAggregateRepository/StatefulAggregateInMemoryProjector to create an instance of a given Aggregate.
StatefulAggregateInstanceFactory.ObjenesisAggregateInstanceFactory - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
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 - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
StatefulAggregateInstanceFactory that calls the default no-arguments constructor on the concrete Aggregate type to create a new instance of the Aggregate
StatefulAggregateRepository<ID,​EVENT_TYPE,​AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID,​EVENT_TYPE,​AGGREGATE_IMPL_TYPE>> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
Opinionated Aggregate Repository that's built to persist and load a specific StatefulAggregate type in combination with EventStore, UnitOfWorkFactory and a StatefulAggregateInstanceFactory.
You can use the StatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class) to create a new StatefulAggregateRepository instance that supports the most common repository method.
Alternatively you can extend from the StatefulAggregateRepository.DefaultStatefulAggregateRepository and add your own special methods
StatefulAggregateRepository.DefaultStatefulAggregateRepository<ID,​EVENT_TYPE,​AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID,​EVENT_TYPE,​AGGREGATE_IMPL_TYPE>> - Class in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
Default StatefulAggregateRepository implementation.
stream() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
Success(EVENT...) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Success
 
Success(List<EVENT>) - Constructor for class dk.cloudcreate.essentials.components.eventsourced.aggregates.decider.HandlerResult.Success
Create a Success variant of the HandlerResult
supports(Class<?>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateInMemoryProjector
 

T

toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.EventsToPersist
 
toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
 
toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents
 
toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshot
 
toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots
 
toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotDeletionStrategy.KeepHistoricSnapshots
 
toString() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
 
tryLoad(ID) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Try to load an FlexAggregate instance with the specified aggregateId from the underlying EventStore
If the aggregate instance exists it will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
tryLoad(ID) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Try to load an StatefulAggregate instance with the specified aggregateId from the underlying EventStore
If the aggregate instance exists it will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
tryLoad(ID, long) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Try to load an FlexAggregate instance with the specified aggregateId from the underlying EventStore
If the aggregate instance exists it will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
tryLoad(ID, EventOrder) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Try to load an StatefulAggregate instance with the specified aggregateId from the underlying EventStore
If the aggregate instance exists it will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
tryLoad(ID, Optional<EventOrder>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository.DefaultStatefulAggregateRepository
 
tryLoad(ID, Optional<EventOrder>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.StatefulAggregateRepository
Try to load an StatefulAggregate instance with the specified aggregateId from the underlying EventStore
If the aggregate instance exists it will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.
tryLoad(ID, Optional<Long>) - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository.DefaultFlexAggregateRepository
 
tryLoad(ID, Optional<Long>) - Method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.flex.FlexAggregateRepository
Try to load an FlexAggregate instance with the specified aggregateId from the underlying EventStore
If the aggregate instance exists it will be associated with the UnitOfWorkFactory.getRequiredUnitOfWork() and any changes to will be tracked and will be persisted to the underlying EventStore when the UnitOfWork is committed.

U

uncommittedChanges() - Method in class dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.classic.state.AggregateState
The the events that have been applied to this aggregate instance but not yet persisted to the underlying EventStore
updateOnEachAggregateUpdate() - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy
 
updateWhenBehindByNumberOfEvents(long) - Static method in interface dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AddNewAggregateSnapshotStrategy
 

V

View<EVENT,​STATE> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Variant of the Event Sourced Projection/View concept

W

WithState<ID,​EVENT_TYPE,​AGGREGATE_TYPE extends AggregateRoot<ID,​EVENT_TYPE,​AGGREGATE_TYPE>,​AGGREGATE_STATE extends AggregateState<ID,​EVENT_TYPE,​AGGREGATE_TYPE>> - Interface in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful.modern
Marker interface that indicates that all state and all EventHandler annotated methods will be hosted with the AggregateState object.
A B C D E F G H I K L M N O P R S T U V W 
All Classes All Packages