1. Project Clover database Wed Nov 12 2025 05:07:35 UTC
  2. Package guru.mikelue.foxglove.setting

File ColumnConfig.java

 

Code metrics

0
0
0
1
44
9
0
-
-
0
-

Classes

Class Line # Actions
ColumnConfig 16 0 - 0 0
-1.0 -
 

Contributing tests

No tests hitting this source file were found.

Source view

1    package guru.mikelue.foxglove.setting;
2   
3    import java.util.function.Supplier;
4   
5    import org.instancio.generator.ValueSpec;
6   
7    import guru.mikelue.foxglove.functional.SupplierDecider;
8   
9    /**
10    * General interface used to configure value generator
11    * for a matched column.
12    *
13    * @param <T> The type of value generated for the matched column
14    * @param <R> The type of returned object after configuration
15    */
 
16    public interface ColumnConfig<T, R> {
17   
18    /**
19    * Uses a {@link Supplier} of {@link ValueSpec} for matched column.
20    *
21    * @param valueSpecSupplier The supplier of {@link ValueSpec}
22    *
23    * @return The containing object itself
24    */
25    R useSpec(Supplier<ValueSpec<? extends T>> valueSpecSupplier);
26   
27    /**
28    * Uses a {@link Supplier} for matched column.
29    *
30    * @param valueSupplier The supplier of value
31    *
32    * @return The containing object itself
33    */
34    R useSupplier(Supplier<? extends T> valueSupplier);
35   
36    /**
37    * Decides a {@link Supplier} for matched column.
38    *
39    * @param supplierDecider The decider of {@link Supplier}
40    *
41    * @return The containing object itself
42    */
43    R decideSupplier(SupplierDecider<? extends T> supplierDecider);
44    }