Class EventMetadata
Namespace: Momentum.Extensions.EventMarkdownGenerator.Models
Assembly: Momentum.Extensions.EventMarkdownGenerator.dll
public record EventMetadata : IEquatable<EventMetadata>Inheritance
Implements
Inherited Members
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Constructors
EventMetadata(EventMetadata)
[SetsRequiredMembers]
protected EventMetadata(EventMetadata original)Parameters
original EventMetadata
EventMetadata()
public EventMetadata()Properties
AssemblyName
Name of the compiled assembly the event type was discovered in (e.g. "AppDomain.BackOffice"). Used, when non-empty, to correctly locate the event's GitHub source link — the assembly name is the actual project folder, which can itself contain dots that a naive per-namespace-segment split would otherwise wrongly turn into nested folders. Empty for instances built by hand rather than via .
public string AssemblyName { get; init; }Property Value
AttributeProperties
Every public property of , name to stringified value, discovered via reflection. Captures custom/unknown attribute properties (beyond the well-known ones already mapped onto this record, e.g. Domain/Version/Topic) so templates can render them without the generator needing to know about them ahead of time.
public IReadOnlyDictionary<string, string> AttributeProperties { get; init; }Property Value
IReadOnlyDictionary<string, string>
Domain
public required string Domain { get; init; }Property Value
Entity
PascalCase entity name: the type argument on a generic topic attribute (e.g. EventTopicAttribute<Cashier> yields "Cashier"), or, when the attribute isn't generic, the event type's own name with a common event-verb suffix stripped (e.g. "CashierCreated" yields "Cashier").
public required string Entity { get; init; }Property Value
EntityType
The reflectable entity : the type argument reflected from a generic topic attribute, or, when the attribute isn't generic, a payload property's type when that property's name exactly matches . null when neither resolves. Used to link
public Type? EntityType { get; init; }Property Value
Type?
EqualityContract
protected virtual Type EqualityContract { get; }Property Value
EventName
public required string EventName { get; init; }Property Value
EventNameKebab
Kebab-cased form of (respects an EventName attribute override the same way EventName itself does). Intended for topic-adjacent/URL-safe uses in templates that want a slug without kebab-casing the human-facing heading itself.
public required string EventNameKebab { get; init; }Property Value
EventTypeName
public required string EventTypeName { get; init; }Property Value
FullTypeName
public required string FullTypeName { get; init; }Property Value
FullyQualifiedTopicName
public required string FullyQualifiedTopicName { get; init; }Property Value
IsInternal
public required bool IsInternal { get; init; }Property Value
IsObsolete
public bool IsObsolete { get; }Property Value
Namespace
public required string Namespace { get; init; }Property Value
ObsoleteMessage
public string? ObsoleteMessage { get; init; }Property Value
PartitionKeys
public List<PartitionKeyMetadata> PartitionKeys { get; init; }Property Value
Properties
public List<EventPropertyMetadata> Properties { get; init; }Property Value
Subdomain
public string? Subdomain { get; init; }Property Value
Topic
public required string Topic { get; init; }Property Value
TopicAttribute
public required Attribute TopicAttribute { get; init; }Property Value
Version
public required string Version { get; init; }Property Value
Methods
<Clone>$()
public virtual EventMetadata <Clone>$()Returns
Equals(object?)
public override bool Equals(object? obj)Parameters
obj object?
Returns
Equals(EventMetadata?)
public virtual bool Equals(EventMetadata? other)Parameters
other EventMetadata?
Returns
GetAnchorId()
public string GetAnchorId()Returns
GetDisplayName()
public string GetDisplayName()Returns
GetFileName()
public string GetFileName()Returns
GetHashCode()
public override int GetHashCode()Returns
GetStatus()
public string GetStatus()Returns
GetTypeNameFileName()
public string GetTypeNameFileName()Returns
PrintMembers(StringBuilder)
protected virtual bool PrintMembers(StringBuilder builder)Parameters
builder StringBuilder
Returns
ToString()
public override string ToString()Returns
Operators
operator ==(EventMetadata?, EventMetadata?)
public static bool operator ==(EventMetadata? left, EventMetadata? right)Parameters
left EventMetadata?
right EventMetadata?
Returns
operator !=(EventMetadata?, EventMetadata?)
public static bool operator !=(EventMetadata? left, EventMetadata? right)Parameters
left EventMetadata?
right EventMetadata?