BAG2ProgressOptions.java
/*
* Copyright (C) 2021 B3Partners B.V.
*
* SPDX-License-Identifier: MIT
*
*/
package nl.b3p.brmo.bag2.loader.cli;
import nl.b3p.brmo.bgt.loader.ProgressReporter;
import picocli.CommandLine;
public class BAG2ProgressOptions {
private ProgressReporter customProgressReporter;
@CommandLine.Option(names = "--progress", hidden = true)
private boolean progress;
public boolean isConsoleProgressEnabled() {
if (isProgress()) {
return true;
}
// Imperfect but good enough without using native library like Jansi's isatty()
// https://stackoverflow.com/questions/1403772/how-can-i-check-if-a-java-programs-input-output-streams-are-connected-to-a-term
return System.console() != null;
}
public boolean isProgress() {
return progress;
}
public void setProgress(boolean progress) {
this.progress = progress;
}
public ProgressReporter getCustomProgressReporter() {
return customProgressReporter;
}
public void setCustomProgressReporter(ProgressReporter customProgressReporter) {
this.customProgressReporter = customProgressReporter;
}
}