summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/scan/Counter.java
diff options
context:
space:
mode:
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.java31
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();
+ }
+}