コード例 #1
0
 public Builder(IPipeBuilder <TContext> builder, MergeFilterContextProvider <TContext, TFilter> contextProvider,
                FilterContextProvider <TFilter, TContext> inputContextProvider)
 {
     _builder              = builder;
     _contextProvider      = contextProvider;
     _inputContextProvider = inputContextProvider;
 }
コード例 #2
0
 public SplitFilterPipeSpecification(IPipeSpecification <TFilter> specification, MergeFilterContextProvider <TContext, TFilter> contextProvider,
                                     FilterContextProvider <TFilter, TContext> inputContextProvider)
 {
     _specification        = specification;
     _contextProvider      = contextProvider;
     _inputContextProvider = inputContextProvider;
 }
コード例 #3
0
 public SplitFilter(IFilter <TSplit> split, MergeFilterContextProvider <TInput, TSplit> contextProvider,
                    FilterContextProvider <TSplit, TInput> inputContextProvider)
 {
     _split                = split;
     _contextProvider      = contextProvider;
     _inputContextProvider = inputContextProvider;
 }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
ファイル: MergePipe.cs プロジェクト: qifei2012/GreenPipes
 public MergePipe(IPipe <TInput> next, TInput input, MergeFilterContextProvider <TInput, TSplit> contextProvider)
 {
     _next            = next;
     _input           = input;
     _contextProvider = contextProvider;
 }