45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
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" : "");
|
|
}
|
|
}
|