- added setter for totalMinutes
- removed dilemma about overriding setEndTime AND setTotalMinutes etc.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -77,8 +77,7 @@ public class WorkLoadingBar extends AbstractProgressBar {
|
||||
|
||||
|
||||
@Override
|
||||
protected void setEndTime(LocalTime endTime) {
|
||||
super.setEndTime(endTime);
|
||||
protected void extraInitEndTimeTotalMinutes() {
|
||||
drinkingBar.setEndTime(endTime);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user