- 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