Event Dispatching Repository
public abstract class EventDispatchingRepository<I, E extends AbstractEntity<I, S>, S extends EntityState> extends DefaultRecordBasedRepository<I, E, S> implements EventDispatcher
Abstract base for repositories that deliver events to entities they manage.
Inheritors
Functions
Link copied to clipboard
Dispatches the event to the corresponding entities.
Link copied to clipboard
Dispatches the given event to entities with the given identifiers, and returns the dispatch outcome.
Link copied to clipboard
Registers itself as an event dispatcher with the parent
BoundedContext
.Link copied to clipboard
Determines the targets of the given event.
Link copied to clipboard
A callback for derived repository classes to customize routing schema for events.
Inherited functions
Link copied to clipboard
public final void applyMigration<T extends TransactionalEntity<I, S, ? extends Object>>(I id, Migration<I, T, S> migration)
Applies a given Migration to an entity with the given ID.
public final void applyMigration<T extends TransactionalEntity<I, S, ? extends Object>>(Set<I> ids, Migration<I, T, S> migration)
Applies a Migration to several entities in batch.
Link copied to clipboard
Checks if this dispatcher can dispatch the given message.
Link copied to clipboard
Verifies that this instance is NOT registered yet.
Link copied to clipboard
Verifies that this instance is already registered.
Link copied to clipboard
Ensures that the storage is not null.
Link copied to clipboard
Obtains the
BoundedContext
to which this repository belongs.Link copied to clipboard
Creates the storage for this repository.
Link copied to clipboard
Link copied to clipboard
Verifies if this instance dispatches at least one event.
Link copied to clipboard
Verifies if this instance dispatches at least one external event.
Link copied to clipboard
Obtains classes of domestic events processed by this dispatcher.
Link copied to clipboard
Returns the class of entities managed by this repository.
Link copied to clipboard
Obtains EntityFactory associated with this repository.
Link copied to clipboard
Obtains model class for the entities managed by this repository.
Link copied to clipboard
Obtains the TypeUrl for the state objects wrapped by entities managed by this repository.
Link copied to clipboard
Obtains classes of all events processed by this dispatcher.
Link copied to clipboard
Creates an EventFilter for this repository.
Link copied to clipboard
Obtains classes of external events processed by this dispatcher.
Link copied to clipboard
Finds an entity with the passed ID even if the entity is active.
Link copied to clipboard
Loads an entity by the passed ID or creates a new one, if the entity was not found.
Link copied to clipboard
Obtains iterator over entity records matching the passed filters.
Link copied to clipboard
Verifies whether the repository is registered with a
BoundedContext
.Link copied to clipboard
Tells if the repository is registered in a
BoundedContext
.Link copied to clipboard
Tells if this repository should be registered as a type supplier with a
Stand
of the BoundedContext
to which this repository belongs.Link copied to clipboard
Obtains an instance of EntityLifecycle for the entity with the given ID.
Link copied to clipboard
Obtains iterator over all present entity records.
Link copied to clipboard
Obtains a set of message classes that can be processed by this dispatcher.
Link copied to clipboard
The callback is invoked by a BoundedContext when adding the repository.
Link copied to clipboard
protected void onRoutingFailed(SignalEnvelope<? extends Object, ? extends Object, ? extends Object> envelope, Throwable cause)
A callback invoked when an exception is thrown from message routing.
Link copied to clipboard
Ensures that the repository has the storage.
Link copied to clipboard
Returns
true
if the storage is assigned, false
otherwise.Link copied to clipboard
Obtains StorageConverter associated with this repository.
Link copied to clipboard
Obtains a model class for the passed entity class value.