Class BaseAggregatingProvider<T>
OptimaJet.Workflow.Core.Runtime.BaseAggregatingProvider<T>
Stores providers registered either globally or for specific schemes and exposes the applicable providers in registration order.
Namespace: OptimaJet.Workflow.Core.Runtime
public abstract class BaseAggregatingProvider<T>Type Hierarchy
Methods
protected IEnumerable<T> GetOrderedProviders(string schemeCode) #Parameters
schemeCodeStringReturns
IEnumerable<T>protected IEnumerable<T> GetProviders(string schemeCode) #Parameters
schemeCodeStringReturns
IEnumerable<T>public void RegisterProvider(T provider, List<string> schemes = null) #Parameters
provider{T}schemesList<String>null or empty, the provider is registered as a global provider.Remarks
public void Clear() #Remarks
Global and scheme-specific providers share a single registration sequence. Neither scope has an inherent priority: a provider registered later is considered newer regardless of whether it is global or scheme-specific.
When providers are requested for a scheme, all global providers and only the providers registered specifically for that scheme are selected. The selected providers are then sorted solely by registration time: BaseAggregatingProvider<T>.GetProviders(string) returns the earliest registration first, while BaseAggregatingProvider<T>.GetOrderedProviders(string) returns the most recent registration first.
Derived aggregators decide whether to use the first applicable provider or combine results from all of them. This class only determines which providers are applicable and their enumeration order.