| | 1 | | using Fluorite.Strainer.Models; |
| | 2 | | using Fluorite.Strainer.Services.Configuration; |
| | 3 | | using Fluorite.Strainer.Services.Filtering; |
| | 4 | | using Fluorite.Strainer.Services.Metadata; |
| | 5 | | using Fluorite.Strainer.Services.Pipelines; |
| | 6 | | using Fluorite.Strainer.Services.Sorting; |
| | 7 | |
|
| | 8 | | namespace Fluorite.Strainer.Services; |
| | 9 | |
|
| | 10 | | /// <summary> |
| | 11 | | /// Represents wrapper over main services used by Strainer. |
| | 12 | | /// </summary> |
| | 13 | | public class StrainerContext : IStrainerContext |
| | 14 | | { |
| | 15 | | /// <summary> |
| | 16 | | /// Initializes a new instance of the <see cref="StrainerContext"/> class. |
| | 17 | | /// </summary> |
| 1 | 18 | | public StrainerContext( |
| 1 | 19 | | IConfigurationCustomMethodsProvider customMethodsConfigurationProvider, |
| 1 | 20 | | IStrainerOptionsProvider optionsProvider, |
| 1 | 21 | | IFilterContext filterContext, |
| 1 | 22 | | ISortingContext sortingContext, |
| 1 | 23 | | IMetadataFacade metadataFacade, |
| 1 | 24 | | IPipelineContext pipelineContext) |
| | 25 | | { |
| 1 | 26 | | CustomMethods = Guard.Against.Null(customMethodsConfigurationProvider); |
| 1 | 27 | | Filter = Guard.Against.Null(filterContext); |
| 1 | 28 | | Sorting = Guard.Against.Null(sortingContext); |
| 1 | 29 | | Metadata = Guard.Against.Null(metadataFacade); |
| 1 | 30 | | Pipeline = Guard.Against.Null(pipelineContext); |
| 1 | 31 | | Options = Guard.Against.Null(optionsProvider).GetStrainerOptions(); |
| 1 | 32 | | } |
| | 33 | |
|
| | 34 | | /// <inheritdoc/> |
| 1 | 35 | | public IConfigurationCustomMethodsProvider CustomMethods { get; } |
| | 36 | |
|
| | 37 | | /// <inheritdoc/> |
| 1 | 38 | | public IFilterContext Filter { get; } |
| | 39 | |
|
| | 40 | | /// <inheritdoc/> |
| 1 | 41 | | public IMetadataFacade Metadata { get; } |
| | 42 | |
|
| | 43 | | /// <inheritdoc/> |
| 1 | 44 | | public StrainerOptions Options { get; } |
| | 45 | |
|
| | 46 | | /// <inheritdoc/> |
| 1 | 47 | | public ISortingContext Sorting { get; } |
| | 48 | |
|
| | 49 | | /// <inheritdoc/> |
| 1 | 50 | | public IPipelineContext Pipeline { get; } |
| | 51 | | } |