Namespace Cratis.Chronicle.Events.Constraints

Classes

ClosesStreamAttribute

Declares an event that closes a stream scope after its durable append.

ClosesStreamAttributeExtensions

Reads model-bound closing declarations from event types.

ClosesStreamBuilder<TEvent>

Builds one closing-event declaration with an optional property-sourced stream identifier.

ClosesStreamConstraintDefinition

Defines event-driven owned stream closures and exact reopening transitions.

ClosesStreamConstraintsNotSupported

The exception that is thrown when a constraint builder or connected kernel does not support closing events.

ClosesStreamConstraintsProvider

Provides closing constraints discovered from event types carrying ClosesStreamAttribute.

ConflictingClosesStreamDeclarations

The exception that is thrown when same-named closing declarations disagree on scope or payload property.

ConflictingUniqueConstraintModes

The exception that is thrown when properties sharing a constraint name declare different retention modes.

ConstraintBuilder

Represents an implementation of IConstraintBuilder.

ConstraintName

Represents a name for a constraint.

ConstraintScope

Represents the scope of a constraint, defining optional boundaries for constraint validation.

ConstraintViolation

Represents a violation of a constraint.

ConstraintViolationDetails

Represents details related to a constraint violation.

ConstraintViolationMessage

Represents the message from a violation of a constraint.

Constraints

Represents an implementation of IConstraints.

ConstraintsByBuilderProvider

Represents a provider that can provide constraints that are built using the IConstraintBuilder.

DuplicateConstraintNames

Exception that gets thrown when there are duplicates of constraints with the same name.

EventTypeAlreadyAddedToUniqueConstraint

Exception that gets thrown when an event type has already been added to the unique constraint.

MissingNameForClosesStreamConstraint

The exception that is thrown when a closing declaration attempts to use the reserved manual owner name.

MissingNameForUniqueConstraint

Exception that gets thrown when no event types have been added to a unique constraint.

NoEventTypesAddedToUniqueConstraint

Exception that gets thrown when an event type has already been added to the unique constraint.

NoUniqueEventTypeConstraintToRemove

Exception that gets thrown when a removal event is declared without a unique event type constraint to release.

PropertyDoesNotExistOnEventType

Exception that gets thrown when an event type has already been added to a unique constraint.

RemoveConstraintAttribute

Attribute to adorn event types to indicate that appending this event releases a named constraint.

UniqueAttribute

Attribute to adorn types and properties on event types to indicate uniqueness.

UniqueAttributeExtensions

Extension methods for working with UniqueAttribute.

UniqueConstraintBuilder

Represents an implementation of IUniqueConstraintBuilder.

UniqueConstraintDefinition

Represents a definition of a unique event type constraint.

UniqueConstraintEventDefinition

Represents a definition of a unique event type and property constraint.

UniqueConstraintProvider

Represents a provider that can provide constraints for unique properties based on properties on an event type adorned with UniqueAttribute.

UniqueEventTypeConstraintDefinition

Represents a definition of a unique event type constraint.

UniqueEventTypeConstraintsProvider

Represents a provider that can provide constraints for unique event types based on event types adorned with UniqueAttribute .

UnknownConstraint

Exception that gets thrown when trying to get a constraint that is unknown.

UnknownConstraintType

Exception that gets thrown when an unknown constraint type is encountered.

WellKnownConstraintDetailKeys

Well known constraint detail keys.

Interfaces

ICanProvideConstraints

Defines a system that can provide constraints.

IClosesStreamBuilder<TEvent>

Configures the scope closed by one event type.

IConstraint

Defines a constraint for events.

IConstraintBuilder

Defines the builder for building constraints.

IConstraintDefinition

Defines the definition of a constraint.

IConstraints

Defines a system to work with constraints.

IUniqueConstraintBuilder

Defines the builder for building unique constraints.

Enums

ConstraintType

Represents a constraint type.

UniqueConstraintMode

Defines how unique property values are retained.

Delegates

ConstraintViolationMessageProvider

Represents the delegate for providing a message for a constraint violation.