- 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