public Builder(IPipeBuilder <TContext> builder, MergeFilterContextProvider <TContext, TFilter> contextProvider, FilterContextProvider <TFilter, TContext> inputContextProvider) { _builder = builder; _contextProvider = contextProvider; _inputContextProvider = inputContextProvider; }
public SplitFilterPipeSpecification(IPipeSpecification <TFilter> specification, MergeFilterContextProvider <TContext, TFilter> contextProvider, FilterContextProvider <TFilter, TContext> inputContextProvider) { _specification = specification; _contextProvider = contextProvider; _inputContextProvider = inputContextProvider; }
public SplitFilter(IFilter <TSplit> split, MergeFilterContextProvider <TInput, TSplit> contextProvider, FilterContextProvider <TSplit, TInput> inputContextProvider) { _split = split; _contextProvider = contextProvider; _inputContextProvider = inputContextProvider; }
/// <summary> /// Adds a filter to the pipe which is of a different type than the native pipe context type /// </summary> /// <typeparam name="TContext">The context type</typeparam> /// <typeparam name="TFilter">The filter context type</typeparam> /// <param name="configurator">The pipe configurator</param> /// <param name="filter">The filter to add</param> /// <param name="contextProvider"></param> /// <param name="inputContextProvider"></param> public static void UseFilter <TContext, TFilter>(this IPipeConfigurator <TContext> configurator, IFilter <TFilter> filter, MergeFilterContextProvider <TContext, TFilter> contextProvider, FilterContextProvider <TFilter, TContext> inputContextProvider) where TContext : class, TFilter where TFilter : class, PipeContext { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } var pipeBuilderConfigurator = new FilterPipeSpecification <TContext, TFilter>(filter, contextProvider, inputContextProvider); configurator.AddPipeSpecification(pipeBuilderConfigurator); }
public MergePipe(IPipe <TInput> next, TInput input, MergeFilterContextProvider <TInput, TSplit> contextProvider) { _next = next; _input = input; _contextProvider = contextProvider; }