Class CaptureDefinition

Namespace
Cratis.Chronicle.Concepts.Captures
Assembly
Cratis.Chronicle.dll

Represents the definition of a capture.

public record CaptureDefinition : IEquatable<CaptureDefinition>
Inheritance
CaptureDefinition
Implements
Inherited Members
Extension Methods

Constructors

CaptureDefinition(CaptureDefinition)

protected CaptureDefinition(CaptureDefinition original)

Parameters

original CaptureDefinition

CaptureDefinition(CaptureId, CaptureName, SourceDefinition, string, MapDefinition?, IReadOnlyList<AppendDefinition>, IReadOnlyList<NestedDefinition>, IReadOnlyList<ChildrenDefinition>)

Represents the definition of a capture.

public CaptureDefinition(CaptureId Id, CaptureName Name, SourceDefinition Source, string KeyProperty, MapDefinition? Map, IReadOnlyList<AppendDefinition> Appends, IReadOnlyList<NestedDefinition> Nested, IReadOnlyList<ChildrenDefinition> Children)

Parameters

Id CaptureId

The CaptureId.

Name CaptureName

The CaptureName.

Source SourceDefinition

The source definition.

KeyProperty string

The identity property used for diffing.

Map MapDefinition

Optional root map definition.

Appends IReadOnlyList<AppendDefinition>

Append definitions on the root scope.

Nested IReadOnlyList<NestedDefinition>

Nested object scopes.

Children IReadOnlyList<ChildrenDefinition>

Child collection scopes.

Properties

Appends

Append definitions on the root scope.

public IReadOnlyList<AppendDefinition> Appends { get; init; }

Property Value

IReadOnlyList<AppendDefinition>

Children

Child collection scopes.

public IReadOnlyList<ChildrenDefinition> Children { get; init; }

Property Value

IReadOnlyList<ChildrenDefinition>

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

Id

The CaptureId.

public CaptureId Id { get; init; }

Property Value

CaptureId

KeyProperty

The identity property used for diffing.

public string KeyProperty { get; init; }

Property Value

string

Map

Optional root map definition.

public MapDefinition? Map { get; init; }

Property Value

MapDefinition

Name

public CaptureName Name { get; init; }

Property Value

CaptureName

Nested

Nested object scopes.

public IReadOnlyList<NestedDefinition> Nested { get; init; }

Property Value

IReadOnlyList<NestedDefinition>

Source

The source definition.

public SourceDefinition Source { get; init; }

Property Value

SourceDefinition

Methods

Deconstruct(out CaptureId, out CaptureName, out SourceDefinition, out string, out MapDefinition?, out IReadOnlyList<AppendDefinition>, out IReadOnlyList<NestedDefinition>, out IReadOnlyList<ChildrenDefinition>)

public void Deconstruct(out CaptureId Id, out CaptureName Name, out SourceDefinition Source, out string KeyProperty, out MapDefinition? Map, out IReadOnlyList<AppendDefinition> Appends, out IReadOnlyList<NestedDefinition> Nested, out IReadOnlyList<ChildrenDefinition> Children)

Parameters

Id CaptureId
Name CaptureName
Source SourceDefinition
KeyProperty string
Map MapDefinition
Appends IReadOnlyList<AppendDefinition>
Nested IReadOnlyList<NestedDefinition>
Children IReadOnlyList<ChildrenDefinition>

Equals(CaptureDefinition?)

public virtual bool Equals(CaptureDefinition? other)

Parameters

other CaptureDefinition

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 ==(CaptureDefinition?, CaptureDefinition?)

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

Parameters

left CaptureDefinition
right CaptureDefinition

Returns

bool

operator !=(CaptureDefinition?, CaptureDefinition?)

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

Parameters

left CaptureDefinition
right CaptureDefinition

Returns

bool