- added setter for totalMinutes

- removed dilemma about overriding setEndTime AND setTotalMinutes etc.
This commit is contained in:
2025-08-08 15:01:50 +02:00
parent 971bf22495
commit 45bee2714b
3 changed files with 16 additions and 8 deletions

View File

@@ -31,9 +31,7 @@ public abstract class AbstractLoadingBar {
protected AbstractLoadingBar(LocalTime startTime, long totalMinutes) {
this.startTime = startTime;
this.endTime = startTime.plusMinutes(totalMinutes);
this.totalMinutes = totalMinutes;
this.totalMinutesBD = BigDecimal.valueOf(totalMinutes);
setTotalMinutes(totalMinutes);
}
@@ -47,18 +45,30 @@ public abstract class AbstractLoadingBar {
}
protected void setEndTime(LocalTime endTime) {
protected final void setEndTime(LocalTime endTime) {
this.endTime = endTime;
this.totalMinutes = startTime.until(endTime, ChronoUnit.MINUTES);
this.totalMinutesBD = BigDecimal.valueOf(totalMinutes);
extraInitEndTimeTotalMinutes();
}
protected void extraInitEndTimeTotalMinutes() {}
protected long getTotalMinutes() {
return totalMinutes;
}
protected final void setTotalMinutes(long totalMinutes) {
this.totalMinutes = totalMinutes;
this.totalMinutesBD = BigDecimal.valueOf(totalMinutes);
this.endTime = startTime.plusMinutes(totalMinutes);
extraInitEndTimeTotalMinutes();
}
protected BigDecimal getTotalMinutesBD() {
return totalMinutesBD;
}

View File

@@ -37,8 +37,7 @@ public class DrinkingBar extends AbstractLoadingBar {
@Override
protected void setEndTime(LocalTime endTime) {
super.setEndTime(endTime);
protected void extraInitEndTimeTotalMinutes() {
// correct necessary litres to drink based on the end time.
// lower the volume in quarter litre steps
BigDecimal calcTotalLitres = DEFAULT_TOTAL_LITRES;

View File

@@ -77,8 +77,7 @@ public class WorkLoadingBar extends AbstractProgressBar {
@Override
protected void setEndTime(LocalTime endTime) {
super.setEndTime(endTime);
protected void extraInitEndTimeTotalMinutes() {
drinkingBar.setEndTime(endTime);
}