Class BowireCatalogueProviderAccessor
- Namespace
- Kuestenlogik.Bowire.Sources
- Assembly
- Kuestenlogik.Bowire.dll
Singleton wrapper around the resolved
IBowireCatalogueProvider (or null when the
host hasn't selected one). Lets DI hold a non-null reference even
when no provider is configured — the endpoint reads
Provider and treats null as "empty catalogue".
public sealed class BowireCatalogueProviderAccessor
- Inheritance
-
BowireCatalogueProviderAccessor
- Inherited Members
Remarks
The accessor is mutable so #309's Settings → Catalogue providers
UI can hot-swap the active provider at runtime. The boot-time
provider (resolved from appsettings.json) is captured as
DefaultProvider; a UI-driven override replaces
Provider in place. Clearing the override restores
the boot-time provider.
Constructors
BowireCatalogueProviderAccessor(IBowireCatalogueProvider?)
Construct an accessor wrapping the resolved provider (or
null when no provider is configured).
public BowireCatalogueProviderAccessor(IBowireCatalogueProvider? provider)
Parameters
providerIBowireCatalogueProviderThe active provider, or
null.
Properties
DefaultProvider
The boot-time provider resolved from appsettings.json.
Captured at construction so a UI override can be cleared and
the appsettings fallback restored without re-running
Resolve(BowireCatalogueOptions, ILogger?).
public IBowireCatalogueProvider? DefaultProvider { get; }
Property Value
HasOverride
Whether a UI-driven override is currently active. When
false, Provider equals
DefaultProvider (the appsettings fallback).
public bool HasOverride { get; }
Property Value
Provider
The active catalogue provider, or null when no
provider is configured. Consumers should treat null as
"no catalogue" — symmetric with an empty fetch result.
public IBowireCatalogueProvider? Provider { get; }
Property Value
Methods
SetOverride(IBowireCatalogueProvider?)
Replace the active provider — used by the Settings →
Catalogue providers UI (#309) to hot-swap at runtime.
Pass null to fall back to DefaultProvider.
public void SetOverride(IBowireCatalogueProvider? overrideProvider)
Parameters
overrideProviderIBowireCatalogueProvider