- 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) {
|
protected AbstractLoadingBar(LocalTime startTime, long totalMinutes) {
|
||||||
this.startTime = startTime;
|
this.startTime = startTime;
|
||||||
this.endTime = startTime.plusMinutes(totalMinutes);
|
setTotalMinutes(totalMinutes);
|
||||||
this.totalMinutes = totalMinutes;
|
|
||||||
this.totalMinutesBD = BigDecimal.valueOf(totalMinutes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -47,18 +45,30 @@ public abstract class AbstractLoadingBar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void setEndTime(LocalTime endTime) {
|
protected final void setEndTime(LocalTime endTime) {
|
||||||
this.endTime = endTime;
|
this.endTime = endTime;
|
||||||
this.totalMinutes = startTime.until(endTime, ChronoUnit.MINUTES);
|
this.totalMinutes = startTime.until(endTime, ChronoUnit.MINUTES);
|
||||||
this.totalMinutesBD = BigDecimal.valueOf(totalMinutes);
|
this.totalMinutesBD = BigDecimal.valueOf(totalMinutes);
|
||||||
|
extraInitEndTimeTotalMinutes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void extraInitEndTimeTotalMinutes() {}
|
||||||
|
|
||||||
|
|
||||||
protected long getTotalMinutes() {
|
protected long getTotalMinutes() {
|
||||||
return totalMinutes;
|
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() {
|
protected BigDecimal getTotalMinutesBD() {
|
||||||
return totalMinutesBD;
|
return totalMinutesBD;
|
||||||
}
|
}
|
||||||
|
@@ -37,8 +37,7 @@ public class DrinkingBar extends AbstractLoadingBar {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setEndTime(LocalTime endTime) {
|
protected void extraInitEndTimeTotalMinutes() {
|
||||||
super.setEndTime(endTime);
|
|
||||||
// correct necessary litres to drink based on the end time.
|
// correct necessary litres to drink based on the end time.
|
||||||
// lower the volume in quarter litre steps
|
// lower the volume in quarter litre steps
|
||||||
BigDecimal calcTotalLitres = DEFAULT_TOTAL_LITRES;
|
BigDecimal calcTotalLitres = DEFAULT_TOTAL_LITRES;
|
||||||
|
@@ -77,8 +77,7 @@ public class WorkLoadingBar extends AbstractProgressBar {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setEndTime(LocalTime endTime) {
|
protected void extraInitEndTimeTotalMinutes() {
|
||||||
super.setEndTime(endTime);
|
|
||||||
drinkingBar.setEndTime(endTime);
|
drinkingBar.setEndTime(endTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user