@@ -20,6 +20,15 @@ sealed interface Step2 permits BloodPressureBuilder {
2020 }
2121
2222 final class BloodPressureBuilder implements Step1 , Step2 , Builder <BloodPressure > {
23+ private record BloodPressureRecord (int systolic , int diastolic ) implements BloodPressure {
24+ private BloodPressureRecord (int systolic , int diastolic ) {
25+ IntUnaryOperator pressureLimits = bp -> Math .clamp (bp , 10 , 220 );
26+ int s = pressureLimits .applyAsInt (systolic );
27+ int d = pressureLimits .applyAsInt (diastolic );
28+ this .systolic = Math .clamp (Math .max (s , d ), 50 , 220 );
29+ this .diastolic = Math .clamp (Math .min (s , d ), 10 , 130 );
30+ }
31+ }
2332 private int systolic ;
2433 private int diastolic ;
2534
@@ -43,16 +52,6 @@ public BloodPressure build() {
4352 return new BloodPressureRecord (systolic , diastolic );
4453 }
4554 }
46-
47- record BloodPressureRecord (int systolic , int diastolic ) implements BloodPressure {
48- public BloodPressureRecord (int systolic , int diastolic ) {
49- IntUnaryOperator pressureLimits = bp -> Math .clamp (bp , 10 , 220 );
50- int s = pressureLimits .applyAsInt (systolic );
51- int d = pressureLimits .applyAsInt (diastolic );
52- this .systolic = Math .clamp (Math .max (s , d ), 50 , 220 );
53- this .diastolic = Math .clamp (Math .min (s , d ), 10 , 130 );
54- }
55- }
5655}
5756
5857
0 commit comments