Class DefaultClientArtifactsProvider

Namespace
Cratis.Chronicle
Assembly
Cratis.Chronicle.dll

Represents a default implementation of IClientArtifactsProvider.

public class DefaultClientArtifactsProvider : IClientArtifactsProvider
Inheritance
DefaultClientArtifactsProvider
Implements
Inherited Members
Extension Methods

Remarks

This will use type discovery through the provided ICanProvideAssembliesForDiscovery. Concurrent readers wait until all artifacts have been initialized. Failed initialization is retried on the next access. Accessing artifacts from the initializing thread before initialization completes throws ReentrantClientArtifactsInitialization.

Constructors

DefaultClientArtifactsProvider(ICanProvideAssembliesForDiscovery)

Represents a default implementation of IClientArtifactsProvider.

public DefaultClientArtifactsProvider(ICanProvideAssembliesForDiscovery assembliesProvider)

Parameters

assembliesProvider ICanProvideAssembliesForDiscovery

ICanProvideAssembliesForDiscovery for discovering types.

Remarks

This will use type discovery through the provided ICanProvideAssembliesForDiscovery. Concurrent readers wait until all artifacts have been initialized. Failed initialization is retried on the next access. Accessing artifacts from the initializing thread before initialization completes throws ReentrantClientArtifactsInitialization.

Fields

Default

The singleton default of the DefaultClientArtifactsProvider class with a default assembly provider that includes project and package referenced assemblies.

public static readonly DefaultClientArtifactsProvider Default

Field Value

DefaultClientArtifactsProvider

The default DefaultClientArtifactsProvider.

Properties

AdditionalEventInformationProviders

Gets all the available event information provider types.

public virtual IEnumerable<Type> AdditionalEventInformationProviders { get; }

Property Value

IEnumerable<Type>

ClosesStreamEventTypes

Gets event types declaring owned closing scopes. Existing artifact providers default to none.

public virtual IEnumerable<Type> ClosesStreamEventTypes { get; }

Property Value

IEnumerable<Type>

ComplianceForPropertiesProviders

Gets all the available providers of compliance metadata for properties.

public virtual IEnumerable<Type> ComplianceForPropertiesProviders { get; }

Property Value

IEnumerable<Type>

ComplianceForTypesProviders

Gets all the available providers of compliance metadata for types.

public virtual IEnumerable<Type> ComplianceForTypesProviders { get; }

Property Value

IEnumerable<Type>

ConstraintTypes

Gets all the available constraint types represented by IConstraint .

public virtual IEnumerable<Type> ConstraintTypes { get; }

Property Value

IEnumerable<Type>

EventSeeders

Gets all the available event seeder types.

public virtual IEnumerable<Type> EventSeeders { get; }

Property Value

IEnumerable<Type>

EventSources

Gets all the available event source definition types.

public virtual IEnumerable<Type> EventSources { get; }

Property Value

IEnumerable<Type>

EventTypeMigrators

Gets all the available event type migrators.

public virtual IEnumerable<Type> EventTypeMigrators { get; }

Property Value

IEnumerable<Type>

EventTypes

Gets all the available event types.

public virtual IEnumerable<Type> EventTypes { get; }

Property Value

IEnumerable<Type>

ModelBoundProjections

Gets all the available model-bound projection types.

public virtual IEnumerable<Type> ModelBoundProjections { get; }

Property Value

IEnumerable<Type>

OccurrenceHandlers

Gets the concrete occurrence handler types. Existing providers default to none.

public virtual IEnumerable<Type> OccurrenceHandlers { get; }

Property Value

IEnumerable<Type>

Projections

Gets all the available projection types.

public virtual IEnumerable<Type> Projections { get; }

Property Value

IEnumerable<Type>

ReactorMiddlewares

Gets all the available Reactor middleware types.

public virtual IEnumerable<Type> ReactorMiddlewares { get; }

Property Value

IEnumerable<Type>

Reactors

Gets all the available Reactor types.

public virtual IEnumerable<Type> Reactors { get; }

Property Value

IEnumerable<Type>

ReadModelReactors

Gets all the available read model reactor types.

public virtual IEnumerable<Type> ReadModelReactors { get; }

Property Value

IEnumerable<Type>

Reducers

Gets all the available reducer types.

public virtual IEnumerable<Type> Reducers { get; }

Property Value

IEnumerable<Type>

RemoveConstraintEventTypes

Gets all event types that carry a RemoveConstraintAttribute, indicating they release a named constraint.

public virtual IEnumerable<Type> RemoveConstraintEventTypes { get; }

Property Value

IEnumerable<Type>

SecurityForPropertiesProviders

Gets all the available providers of security metadata for properties.

public virtual IEnumerable<Type> SecurityForPropertiesProviders { get; }

Property Value

IEnumerable<Type>

Remarks

This is the deliberately separate, security counterpart to ComplianceForPropertiesProviders - see SchemaMetadataCategory for why compliance and security providers are never discovered through the same pool. Defaults to an empty set so an existing IClientArtifactsProvider implementation compiles and behaves unchanged without knowing this member exists.

SecurityForTypesProviders

Gets all the available providers of security metadata for types.

public virtual IEnumerable<Type> SecurityForTypesProviders { get; }

Property Value

IEnumerable<Type>

Remarks

This is the deliberately separate, security counterpart to ComplianceForTypesProviders - see SchemaMetadataCategory for why compliance and security providers are never discovered through the same pool. Defaults to an empty set so an existing IClientArtifactsProvider implementation compiles and behaves unchanged without knowing this member exists.

Triggers

Gets the typed application triggers. Existing providers default to none.

public virtual IEnumerable<Type> Triggers { get; }

Property Value

IEnumerable<Type>

UniqueConstraints

Gets all the available unique constraints represented by event types having properties with UniqueAttribute.

public virtual IEnumerable<Type> UniqueConstraints { get; }

Property Value

IEnumerable<Type>

UniqueEventTypeConstraints

Gets all the available unique event type constraints represented by event types having UniqueAttribute.

public virtual IEnumerable<Type> UniqueEventTypeConstraints { get; }

Property Value

IEnumerable<Type>