package de.szimnau.zeitlaeufer; import de.szimnau.zeitlaeufer.tools.LoadingBarCliTools; import java.io.IOException; import java.time.LocalTime; public class WorkLoadingBar extends AbstractLoadingBar implements WorkdayLoadingBar { private final LoadingBar loadingBar; private final DrinkingBar drinkingBar; private WorkLoadingBar(LocalTime startTime) { super(startTime); this.loadingBar = new LoadingBar(startTime); this.drinkingBar = new DrinkingBar(startTime); } public static void main(String[] args) throws IOException { if (args.length == 0) { LoadingBarCliTools.askParametersAndRun(WorkLoadingBar::new); } else { LoadingBarCliTools.parseParametersAndRun(args, WorkLoadingBar::new); } } @Override protected void extraInitEndTimeTotalMinutes() { LocalTime endTime = getEndTime(); loadingBar.setEndTime(endTime); drinkingBar.setEndTime(endTime); } @Override protected String fillLoadingBar(long passedMinutes, boolean progressive) { String filledLoadingBar = loadingBar.fillLoadingBar(passedMinutes, false); filledLoadingBar += " | " + drinkingBar.fillLoadingBar(passedMinutes, false); return filledLoadingBar + (progressive ? "\r" : ""); } }