Transaction
The abstract class for the entity transactions.
The transaction is a set of changes made to an entity state or entity attributes (e.g. version, lifecycle flags etc).
Serves as a buffer, accumulating the changes, intended for the enclosed Entity
; the changes are only applied to the actual object upon commit.
The transaction is injected to the entity, which state should be modified. By doing so, the "buffering" builder is exposed to concrete TransactionalEntity
subclasses. In turn, they receive an ability to change the entity state by modifying entity state builder.
Same applies to the entity lifecycle flags.
Version management is performed automatically by the transaction itself.
Parameters
the type of entity IDs
the type of entity
the type of entity state
the type of a ValidatingBuilder
for the entity state
Inheritors
Constructors
Transaction
and injects the newly created transaction into the given entity
.Functions
archived
lifecycle flag to the passed value.deleted
lifecycle flag to the passed value.