예제 #1
0
 public static IFluentProcessMutatorBuilder RemoveAllRow(this IFluentProcessMutatorBuilder builder)
 {
     return(builder.AddMutator(new RemoveRowMutator(builder.ProcessBuilder.Result.Context)
     {
         Name = nameof(RemoveAllRow),
     }));
 }
예제 #2
0
 public static IFluentProcessMutatorBuilder Explode(this IFluentProcessMutatorBuilder builder, string name, ExplodeDelegate rowCreator)
 {
     return(builder.AddMutator(new ExplodeMutator(builder.ProcessBuilder.Result.Context)
     {
         Name = name,
         RowCreator = rowCreator,
     }));
 }
예제 #3
0
 /// <summary>
 /// Keeps only the first row of each key, and discard all subsequent rows with existing keys.
 /// <para>- input can be unordered</para>
 /// <para>- if a more refined logic is required to decide which row should be kept of rows with same key then <see cref="ReduceGroupToSingleRowMutatorFluent.ReduceGroupToSingleRow(IFluentProcessMutatorBuilder, ReduceGroupToSingleRowMutator)"/> or <see cref="SortedReduceGroupToSingleRowMutatorFluent.ReduceGroupToSingleRowOrdered(IFluentProcessMutatorBuilder, SortedReduceGroupToSingleRowMutator)"/></para> can be used instead.
 /// <para>- all keys are stored in memory</para>
 /// </summary>
 public static IFluentProcessMutatorBuilder RemoveDuplicateRows(this IFluentProcessMutatorBuilder builder, string name, Func <IReadOnlyRow, string> keyGenerator)
 {
     return(builder.AddMutator(new RemoveDuplicateRowsMutator(builder.ProcessBuilder.Result.Context)
     {
         Name = name,
         KeyGenerator = keyGenerator,
     }));
 }
예제 #4
0
 public static IFluentProcessMutatorBuilder RemoveRow(this IFluentProcessMutatorBuilder builder, string name, RowTestDelegate rowTestDelegate)
 {
     return(builder.AddMutator(new RemoveRowMutator(builder.ProcessBuilder.Result.Context)
     {
         Name = name,
         RowFilter = rowTestDelegate,
     }));
 }
예제 #5
0
 public static IFluentProcessMutatorBuilder CustomCode(this IFluentProcessMutatorBuilder builder, string name, Action <IRow> action)
 {
     return(builder.AddMutator(new CustomMutator(builder.ProcessBuilder.Result.Context)
     {
         Action = row =>
         {
             action.Invoke(row);
             return true;
         }
     }));
 }
예제 #6
0
 public static IFluentProcessMutatorBuilder CustomCode(this IFluentProcessMutatorBuilder builder, CustomMutator mutator)
 {
     return(builder.AddMutator(mutator));
 }
예제 #7
0
 public static IFluentProcessMutatorBuilder RemoveColumn(this IFluentProcessMutatorBuilder builder, RemoveColumnMutator mutator)
 {
     return(builder.AddMutator(mutator));
 }
예제 #8
0
 public static IFluentProcessMutatorBuilder Explode(this IFluentProcessMutatorBuilder builder, ExplodeMutator mutator)
 {
     return(builder.AddMutator(mutator));
 }
예제 #9
0
 /// <summary>
 /// Keeps only the first row of each key, and discard all subsequent rows with existing keys.
 /// <para>- input can be unordered</para>
 /// <para>- if a more refined logic is required to decide which row should be kept of rows with same key then <see cref="ReduceGroupToSingleRowMutatorFluent.ReduceGroupToSingleRow(IFluentProcessMutatorBuilder, ReduceGroupToSingleRowMutator)"/> or <see cref="SortedReduceGroupToSingleRowMutatorFluent.ReduceGroupToSingleRowOrdered(IFluentProcessMutatorBuilder, SortedReduceGroupToSingleRowMutator)"/></para> can be used instead.
 /// <para>- all keys are stored in memory</para>
 /// </summary>
 public static IFluentProcessMutatorBuilder RemoveDuplicateRows(this IFluentProcessMutatorBuilder builder, RemoveDuplicateRowsMutator mutator)
 {
     return(builder.AddMutator(mutator));
 }