Skip to main content
Table of Contents

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 — TenantDeleted and CustomerTenantsDeleted — 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 the ProjectionMethodInvoker discovers 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 HandleAsync methods 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.