Class FileProcessingPipelineSelector
Selects the appropriate FileProcessingPipeline based on the source file extension by routing across a set of registered pipelines.
Implements
Namespace: FulcrumFS
Assembly: FulcrumFS.dll
Syntax
public sealed class FileProcessingPipelineSelector : IFileProcessingPipelineSelector
Remarks
Each registered pipeline declares the extensions it accepts via the AllowedFileExtensions of its first processor. A single catch-all (default) pipeline - one whose first processor declares no extensions, or one with no processors at all - may be included in the constructor list and is used to handle any extension that does not match another entry.
If no entry matches the source extension and no default is registered, GetPipeline(string) throws a FileProcessingException. A selector can itself be used as the default entry of another selector, enabling nesting.
Constructors
| Name | Description |
|---|---|
| FileProcessingPipelineSelector(params IEnumerable<IFileProcessingPipelineProvider>) | Initializes a new instance of the FileProcessingPipelineSelector class with the specified pipelines. Each pipeline is registered for every extension declared by its first processor's AllowedFileExtensions. A single catch-all pipeline (one whose first processor declares no extensions, or one with no processors at all) may be included to handle any extension that does not match another entry. |
Methods
| Name | Description |
|---|---|
| GetPipeline(string) | Gets the pipeline to use for processing a file with the specified source extension. |