Namespace Stratara.Projections.Abstractions
Interfaces
- IForgetsDeletedTenants
A projection that forgets a tenant once the tenant is deleted. The framework hands it the tenant-deletion facts it ships —
TenantDeletedandCustomerTenantsDeleted— whether or not the projection handles them, and after each one records, for this projection alone, the tenants it deleted. When the projection later throws PrecedingFactMissingException for a fact owned by such a tenant, the fact is passed over and logged instead of being retried and failing.
- IForgottenTenantStore
Keeps, for each projection that declares IForgetsDeletedTenants, the tenants it has seen deleted. The record is derived from the facts the projection applied and is emptied with its read model.
- IProjection
Marker interface for a Stratara projection (a read-model writer that reacts to events flowing through the event bundle). Implementations declare one or more
HandleAsync(TEvent, CancellationToken)methods — public or private — that theProjectionMethodInvokerdiscovers via reflection.
- IProjectionDispatcher
Dispatches a single event to all registered projections. Implementations are expected to route the event through the configured IProjectionManager pipeline.
- IProjectionHandler
Drives a single IProjection through a list of events, using the IProjectionMethodInvoker to look up cached handler delegates.
- IProjectionManager
Fans an incoming event bundle out to every registered IProjection in parallel and runs the per-projection dispatch via IProjectionHandler.
- IProjectionMethodInvoker
Reflection-based discovery + invocation helper that locates a projection's
HandleAsyncmethods and caches compiled delegates for hot-path dispatch.
- IRebuildableProjection
A projection that can be rebuilt on its own because it knows how to empty what it wrote. A full replay empties every read model at once; a projection that implements this interface can instead be rebuilt alone while every other projection keeps applying.