Table of Contents

Namespace Opossum.Projections

Classes

ProjectionDefinitionAttribute

Marks a class as a projection definition for automatic discovery

ProjectionInitializationService

Background service that initializes projections on startup

ProjectionMetadata

Metadata tracked for each projection instance. Enables intelligent features like cache warming, retention policies, and archiving.

ProjectionOptions

Configuration options for the projection system

ProjectionOptionsValidator

Validates ProjectionOptions configuration using IValidateOptions pattern. This runs at startup when options are first accessed.

ProjectionRebuildDetail

Details of a single projection rebuild.

ProjectionRebuildResult

Result of a projection rebuild operation.

ProjectionRebuildStatus

Current status of projection rebuilding.

ProjectionServiceCollectionExtensions

Extension methods for configuring projection services

ProjectionTagsAttribute

Specifies the tag provider for a projection, enabling tag-based indexing and efficient queries. The tag provider will be automatically discovered and registered during assembly scanning.

Interfaces

IProjectionDefinition<TState>

Defines how events are projected into a materialized view state

IProjectionManager

Manages projection lifecycle, registration, and updates

IProjectionRebuilder

Manages projection rebuild operations, including full rebuilds, selective rebuilds, and crash recovery. This interface is the single entry point for all rebuild-related functionality, cleanly separated from the live event processing managed by IProjectionManager.

IProjectionStore<TState>

Storage interface for reading projection state

IProjectionTagProvider<TState>

Defines how to extract indexable tags from a projection state. Tag providers enable efficient querying of projections without loading all data into memory.

IProjectionWithRelatedEvents<TState>

Defines a projection that fetches related events from the event store to build its state. The framework will automatically load related events before calling Apply.

Enums

AutoRebuildMode

Controls how the projection daemon handles missing or stale projections at startup.