diff options
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/scan/Counter.java')
| -rw-r--r-- | src/main/java/com/it_jaros/jscanner/scan/Counter.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/scan/Counter.java b/src/main/java/com/it_jaros/jscanner/scan/Counter.java new file mode 100644 index 0000000..0e1d5c9 --- /dev/null +++ b/src/main/java/com/it_jaros/jscanner/scan/Counter.java @@ -0,0 +1,31 @@ +package com.it_jaros.jscanner.scan; + +import java.util.concurrent.atomic.AtomicInteger; + +public final class Counter { + private final AtomicInteger current = new AtomicInteger(0); + private final AtomicInteger max = new AtomicInteger(0); + private final AtomicInteger total = new AtomicInteger(0); + + public void inc() { + total.incrementAndGet(); + int now = current.incrementAndGet(); + max.accumulateAndGet(now, Math::max); + } + + public void dec() { + current.decrementAndGet(); + } + + public int current() { + return current.get(); + } + + public int max() { + return max.get(); + } + + public int total() { + return total.get(); + } +} |
