public class ProgressReporter extends java.lang.Object implements ProgressManager
ProgressManager that forwards all changes to a print stream
that writes the changes with an ANSI modifier "progressmanager".
The default reporter will only be enabled if the "net.neoforged.progressmanager.enabled" system property is set to true,
and will output to System.err.
for the actions| Modifier and Type | Field and Description |
|---|---|
protected boolean |
enabled |
static java.lang.String |
ENABLED_PROPERTY |
static java.lang.String |
MODIFIER_KEY |
protected java.io.PrintStream |
output |
| Constructor and Description |
|---|
ProgressReporter(boolean enabled,
java.io.PrintStream output) |
| Modifier and Type | Method and Description |
|---|---|
static ProgressReporter |
getDefault() |
void |
setIndeterminate(boolean indeterminate)
Sets whether the max progress is known or not.
|
void |
setMaxProgress(int maxProgress)
Sets the max progress of the manager.
|
void |
setPercentageProgress(double progress)
Sets progress of the manager, based on a fractional value.
|
void |
setProgress(int progress)
Sets the current progress of the manager.
|
void |
setStep(java.lang.String name)
Sets the current step to be shown to the user.
|
java.io.InputStream |
wrapDownload(java.io.InputStream in) |
java.io.InputStream |
wrapDownload(java.net.URLConnection connection) |
protected void |
write(ProgressActionType type,
java.lang.String value) |
public static final java.lang.String MODIFIER_KEY
public static final java.lang.String ENABLED_PROPERTY
protected final boolean enabled
protected final java.io.PrintStream output
public ProgressReporter(boolean enabled,
java.io.PrintStream output)
public static ProgressReporter getDefault()
public void setMaxProgress(int maxProgress)
ProgressManagersetMaxProgress in interface ProgressManagerpublic void setProgress(int progress)
ProgressManagersetProgress in interface ProgressManagerpublic void setPercentageProgress(double progress)
ProgressManagerProgressManager.setMaxProgress(int) to 100.setPercentageProgress in interface ProgressManagerpublic void setStep(java.lang.String name)
ProgressManagersetStep in interface ProgressManagerpublic void setIndeterminate(boolean indeterminate)
ProgressManagersetIndeterminate in interface ProgressManagerprotected void write(ProgressActionType type, java.lang.String value)
public java.io.InputStream wrapDownload(java.net.URLConnection connection)
throws java.io.IOException
java.io.IOExceptionpublic java.io.InputStream wrapDownload(java.io.InputStream in)