Class ClosesStreamConstraintDefinition

Namespace
Cratis.Chronicle.Events.Constraints
Assembly
Cratis.Chronicle.dll

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

public record ClosesStreamConstraintDefinition : IConstraintDefinition, IEquatable<ClosesStreamConstraintDefinition>
Inheritance
ClosesStreamConstraintDefinition
Implements
Inherited Members
Extension Methods

Remarks

Registration is not retroactive. A reindex preserves this owner's current rows when a redacted property-sourced closing or reopening event cannot be reconstructed from a closure snapshot. The kernel emits a structured warning and continues rebuilding other constraints.

Constructors

ClosesStreamConstraintDefinition(ClosesStreamConstraintDefinition)

protected ClosesStreamConstraintDefinition(ClosesStreamConstraintDefinition original)

Parameters

original ClosesStreamConstraintDefinition

ClosesStreamConstraintDefinition(ConstraintName, ConstraintViolationMessageProvider, IEnumerable<EventTypeId>, ClosedStreamDimensions, IEnumerable<EventTypeId>, string?)

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

public ClosesStreamConstraintDefinition(ConstraintName Name, ConstraintViolationMessageProvider MessageCallback, IEnumerable<EventTypeId> EventTypeIds, ClosedStreamDimensions Dimensions, IEnumerable<EventTypeId> ReopenedBy, string? EventStreamIdFrom = null)

Parameters

Name ConstraintName

The owning constraint name.

MessageCallback ConstraintViolationMessageProvider

The violation message callback.

EventTypeIds IEnumerable<EventTypeId>

The closing event types.

Dimensions ClosedStreamDimensions

The participating dimensions.

ReopenedBy IEnumerable<EventTypeId>

The reopening event types.

EventStreamIdFrom string

The optional payload property providing the stream identifier.

Remarks

Registration is not retroactive. A reindex preserves this owner's current rows when a redacted property-sourced closing or reopening event cannot be reconstructed from a closure snapshot. The kernel emits a structured warning and continues rebuilding other constraints.

Properties

Dimensions

The participating dimensions.

public ClosedStreamDimensions Dimensions { get; init; }

Property Value

ClosedStreamDimensions

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

EventSequences

Gets the event sequences this declaration applies to; empty means all sequences.

public IEnumerable<EventSequenceId> EventSequences { get; init; }

Property Value

IEnumerable<EventSequenceId>

EventStreamIdFrom

The optional payload property providing the stream identifier.

public string? EventStreamIdFrom { get; init; }

Property Value

string

EventTypeIds

The closing event types.

public IEnumerable<EventTypeId> EventTypeIds { get; init; }

Property Value

IEnumerable<EventTypeId>

MessageCallback

The violation message callback.

public ConstraintViolationMessageProvider MessageCallback { get; init; }

Property Value

ConstraintViolationMessageProvider

Name

The owning constraint name.

public ConstraintName Name { get; init; }

Property Value

ConstraintName

ReopenedBy

The reopening event types.

public IEnumerable<EventTypeId> ReopenedBy { get; init; }

Property Value

IEnumerable<EventTypeId>

Methods

Deconstruct(out ConstraintName, out ConstraintViolationMessageProvider, out IEnumerable<EventTypeId>, out ClosedStreamDimensions, out IEnumerable<EventTypeId>, out string?)

public void Deconstruct(out ConstraintName Name, out ConstraintViolationMessageProvider MessageCallback, out IEnumerable<EventTypeId> EventTypeIds, out ClosedStreamDimensions Dimensions, out IEnumerable<EventTypeId> ReopenedBy, out string? EventStreamIdFrom)

Parameters

Name ConstraintName
MessageCallback ConstraintViolationMessageProvider
EventTypeIds IEnumerable<EventTypeId>
Dimensions ClosedStreamDimensions
ReopenedBy IEnumerable<EventTypeId>
EventStreamIdFrom string

Equals(ClosesStreamConstraintDefinition?)

public virtual bool Equals(ClosesStreamConstraintDefinition? other)

Parameters

other ClosesStreamConstraintDefinition

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(ClosesStreamConstraintDefinition?, ClosesStreamConstraintDefinition?)

public static bool operator ==(ClosesStreamConstraintDefinition? left, ClosesStreamConstraintDefinition? right)

Parameters

left ClosesStreamConstraintDefinition
right ClosesStreamConstraintDefinition

Returns

bool

operator !=(ClosesStreamConstraintDefinition?, ClosesStreamConstraintDefinition?)

public static bool operator !=(ClosesStreamConstraintDefinition? left, ClosesStreamConstraintDefinition? right)

Parameters

left ClosesStreamConstraintDefinition
right ClosesStreamConstraintDefinition

Returns

bool