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
assembliesProviderICanProvideAssembliesForDiscoveryICanProvideAssembliesForDiscovery 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
Properties
AdditionalEventInformationProviders
Gets all the available event information provider types.
public virtual IEnumerable<Type> AdditionalEventInformationProviders { get; }
Property Value
ClosesStreamEventTypes
Gets event types declaring owned closing scopes. Existing artifact providers default to none.
public virtual IEnumerable<Type> ClosesStreamEventTypes { get; }
Property Value
ComplianceForPropertiesProviders
Gets all the available providers of compliance metadata for properties.
public virtual IEnumerable<Type> ComplianceForPropertiesProviders { get; }
Property Value
ComplianceForTypesProviders
Gets all the available providers of compliance metadata for types.
public virtual IEnumerable<Type> ComplianceForTypesProviders { get; }
Property Value
ConstraintTypes
Gets all the available constraint types represented by IConstraint .
public virtual IEnumerable<Type> ConstraintTypes { get; }
Property Value
EventSeeders
Gets all the available event seeder types.
public virtual IEnumerable<Type> EventSeeders { get; }
Property Value
EventSources
Gets all the available event source definition types.
public virtual IEnumerable<Type> EventSources { get; }
Property Value
EventTypeMigrators
Gets all the available event type migrators.
public virtual IEnumerable<Type> EventTypeMigrators { get; }
Property Value
EventTypes
Gets all the available event types.
public virtual IEnumerable<Type> EventTypes { get; }
Property Value
ModelBoundProjections
Gets all the available model-bound projection types.
public virtual IEnumerable<Type> ModelBoundProjections { get; }
Property Value
OccurrenceHandlers
Gets the concrete occurrence handler types. Existing providers default to none.
public virtual IEnumerable<Type> OccurrenceHandlers { get; }
Property Value
Projections
Gets all the available projection types.
public virtual IEnumerable<Type> Projections { get; }
Property Value
ReactorMiddlewares
Gets all the available Reactor middleware types.
public virtual IEnumerable<Type> ReactorMiddlewares { get; }
Property Value
Reactors
Gets all the available Reactor types.
public virtual IEnumerable<Type> Reactors { get; }
Property Value
ReadModelReactors
Gets all the available read model reactor types.
public virtual IEnumerable<Type> ReadModelReactors { get; }
Property Value
Reducers
Gets all the available reducer types.
public virtual IEnumerable<Type> Reducers { get; }
Property Value
RemoveConstraintEventTypes
Gets all event types that carry a RemoveConstraintAttribute, indicating they release a named constraint.
public virtual IEnumerable<Type> RemoveConstraintEventTypes { get; }
Property Value
SecurityForPropertiesProviders
Gets all the available providers of security metadata for properties.
public virtual IEnumerable<Type> SecurityForPropertiesProviders { get; }
Property Value
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
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
UniqueConstraints
Gets all the available unique constraints represented by event types having properties with UniqueAttribute.
public virtual IEnumerable<Type> UniqueConstraints { get; }
Property Value
UniqueEventTypeConstraints
Gets all the available unique event type constraints represented by event types having UniqueAttribute.
public virtual IEnumerable<Type> UniqueEventTypeConstraints { get; }