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

File KeySettingStepImpl.java

 

Coverage histogram

../../../../img/srcFileCovDistChart9.png
53% of files have more coverage

Code metrics

2
14
4
1
53
39
5
0.36
3.5
4
1.25

Classes

Class Line # Actions
KeySettingStepImpl 9 14 0% 5 2
0.990%
 

Contributing tests

This file is covered by 16 tests. .

Source view

1    package guru.mikelue.foxglove.jdbc;
2   
3    import java.util.function.Consumer;
4   
5    import org.apache.commons.lang3.Validate;
6   
7    import guru.mikelue.foxglove.jdbc.JdbcTableFacet.Builder;
8   
 
9    class KeySettingStepImpl implements ColumnSettingSteps.KeyOfIntSettingStep {
10    private final JdbcTableFacet.Builder parentBuilder;
11    private final Consumer<KeySupplierOfInt> finalStageSetter;
12   
 
13  24 toggle KeySettingStepImpl(JdbcTableFacet.Builder parentBuilder, Consumer<KeySupplierOfInt> finalStageSetter)
14    {
15  24 this.parentBuilder = parentBuilder;
16  24 this.finalStageSetter = finalStageSetter;
17    }
18   
 
19  4 toggle @Override
20    public Builder range(long start, long end, int step)
21    {
22  4 Validate.isTrue(step != 0, "Step must not be zero");
23   
24  4 if (step > 0) {
25  4 Validate.isTrue(start < end, "For positive step, start must be less than end");
26    } else {
27  0 Validate.isTrue(start > end, "For negative step, start must be greater than end");
28    }
29   
30  4 finalStageSetter.accept(KeySupplierOfInt.byRange(start, end, step));
31   
32  4 return parentBuilder;
33    }
34   
 
35  17 toggle @Override
36    public Builder limit(long start, int number, int step)
37    {
38  17 Validate.isTrue(step != 0, "Step must not be zero");
39  17 Validate.isTrue(number > 0, "Number of values must be greater than zero");
40   
41  17 finalStageSetter.accept(KeySupplierOfInt.byLimit(start, number, step));
42   
43  17 return parentBuilder;
44    }
45   
 
46  3 toggle @Override
47    public Builder domain(long[] domain)
48    {
49  3 finalStageSetter.accept(KeySupplierOfInt.of(domain));
50   
51  3 return parentBuilder;
52    }
53    }