From 39b60d4225f5efa4e0287a2c6ce69d90391c69db Mon Sep 17 00:00:00 2001 From: RncLsn Date: Fri, 3 Jul 2015 19:09:31 +0100 Subject: Many little changes. --- src/uk/ac/ox/cs/pagoda/util/SimpleProgressBar.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/uk/ac/ox/cs/pagoda/util/SimpleProgressBar.java (limited to 'src/uk/ac/ox/cs/pagoda/util/SimpleProgressBar.java') diff --git a/src/uk/ac/ox/cs/pagoda/util/SimpleProgressBar.java b/src/uk/ac/ox/cs/pagoda/util/SimpleProgressBar.java new file mode 100644 index 0000000..3c4aad7 --- /dev/null +++ b/src/uk/ac/ox/cs/pagoda/util/SimpleProgressBar.java @@ -0,0 +1,48 @@ +package uk.ac.ox.cs.pagoda.util; + +import uk.ac.ox.cs.pagoda.util.disposable.Disposable; + +public class SimpleProgressBar extends Disposable { + + private final String name; + private int lastPercent; + private int maxValue; + + public SimpleProgressBar() { + this(""); + } + + public SimpleProgressBar(String name) { + this(name, 100); + } + + public SimpleProgressBar(String name, int maxValue) { + this.name = name; + this.maxValue = maxValue; + } + + public void update(int value) { + int percent = value * 100 / maxValue; + StringBuilder template = new StringBuilder("\r" + name + " ["); + for (int i = 0; i < 50; i++) { + if (i < percent * .5) { + template.append("="); + } else if (i == percent * .5) { + template.append(">"); + } else { + template.append(" "); + } + } + template.append("] %s "); + System.out.printf(template.toString(), percent + "%"); + System.out.flush(); + lastPercent = percent; + } + + @Override + public void dispose() { + super.dispose(); + + System.out.println(); + } +} -- cgit v1.2.3