Projection
public abstract class Projection<I, M extends EntityState, B extends ValidatingBuilder<M>> extends TransactionalEntity<I, S, B> implements EventPlayer, EventSubscriber, HasVersionColumn<I, S>, HasLifecycleColumns<I, S>
Projection holds a structural representation of data extracted from a stream of events.
The process of projecting the event stream into data we collect is performed by event subscribers for the events of interest. These event handlers are implemented in the classes extending this abstract class.
Event subscribers are invoked by a ProjectionRepository that manages instances of a stream projection class.
Parameters
<I>
the type of the IDs
<M>
the type of the state objects holding projection data
Inheritors
Functions
Inherited functions
Link copied to clipboard
public void afterInvoke(HandlerMethod<? extends Object, ? extends Object, ? extends Object, ? extends Object> method)
A callback for a handler method invocation end.
Link copied to clipboard
public void beforeInvoke(HandlerMethod<? extends Object, ? extends Object, ? extends Object, ? extends Object> method)
A callback for a handler method invocation start.
Link copied to clipboard
Verifies the new entity state and returns ConstraintViolations, if any.
Link copied to clipboard
Ensures that the entity is not marked as
archived
.Link copied to clipboard
Ensures that the entity is not marked as
deleted
.Link copied to clipboard
Clears recent history.
Link copied to clipboard
Obtains the default state of the entity.
Link copied to clipboard
Ensures that the callee is allowed to access Entity's state() method.
Link copied to clipboard
public static EventPlayer forTransactionOf(TransactionalEntity<? extends Object, ? extends Object, ? extends Object> entity)
Creates a transactional
EventPlayer
for the given entity.Link copied to clipboard
Obtains the value of
archived
flag.Link copied to clipboard
Obtains the value of
deleted
flag.Link copied to clipboard
Obtains the current state of the entity lifecycle flags.
Link copied to clipboard
Obtains the version of the entity.
Link copied to clipboard
Obtains ID of the entity in the string form.
Link copied to clipboard
Tests whether the entity is marked as archived.
Link copied to clipboard
Obtains current lifecycle flags.
Link copied to clipboard
Tells whether lifecycle flags of the entity changed since its initialization.
Link copied to clipboard
Obtains recent history of events of this entity.
Link copied to clipboard
Adds events to the recent history.
Link copied to clipboard
Sets archived} status flag to the passed value.
Link copied to clipboard
Sets deleted} status flag to the passed value.
Link copied to clipboard
Sets an initial state for the entity.
Link copied to clipboard
Obtains the transaction used for modifying the entity.
Link copied to clipboard
Obtains the version number of the entity.
Link copied to clipboard
Obtains timestamp of the entity version.