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

File CartesianProductStepImpl.java

 

Coverage histogram

../../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

0
8
3
1
39
32
3
0.38
2.67
3
1

Classes

Class Line # Actions
CartesianProductStepImpl 10 8 0% 3 0
1.0100%
 

Contributing tests

This file is covered by 16 tests. .

Source view

1    package guru.mikelue.foxglove.jdbc;
2   
3    import java.util.List;
4    import java.util.function.Consumer;
5    import java.util.function.Supplier;
6   
7    import guru.mikelue.foxglove.jdbc.ColumnSettingSteps.CartesianProductSettingStep;
8    import guru.mikelue.foxglove.jdbc.JdbcTableFacet.Builder;
9   
 
10    class CartesianProductStepImpl<T> implements CartesianProductSettingStep<T> {
11    private final JdbcTableFacet.Builder parentBuilder;
12    private final Consumer<Supplier<List<T>>> finalStageSetter;
13   
 
14  27 toggle CartesianProductStepImpl(
15    JdbcTableFacet.Builder parentBuilder,
16    Consumer<Supplier<List<T>>> finalStageSetter
17    ) {
18  27 this.parentBuilder = parentBuilder;
19  27 this.finalStageSetter = finalStageSetter;
20    }
21   
 
22  15 toggle @SuppressWarnings("unchecked")
23    @Override
24    public Builder domain(List<? extends T> values)
25    {
26  15 finalStageSetter.accept(() -> (List<T>)values);
27  15 return parentBuilder;
28    }
29   
 
30  12 toggle @Override
31    public Builder referencing(JdbcTableFacet referencedTable, String referencedColumn)
32    {
33  12 var valueTomb = referencedTable.getValueTomb();
34  12 valueTomb.keepColumn(referencedColumn);
35   
36  12 finalStageSetter.accept(() -> valueTomb.getValues(referencedColumn));
37  12 return parentBuilder;
38    }
39    }