1 package org.modeshape.graph.connector.path.cache;
2
3 import java.util.concurrent.atomic.AtomicLong;
4 import net.jcip.annotations.ThreadSafe;
5
6
7
8
9
10 @ThreadSafe
11 public final class DefaultCacheStatistics implements CacheStatistics {
12 private final AtomicLong writes = new AtomicLong(0);
13 private final AtomicLong hits = new AtomicLong(0);
14 private final AtomicLong misses = new AtomicLong(0);
15 private final AtomicLong expirations = new AtomicLong(0);
16
17 public long getWrites() {
18 return writes.get();
19 }
20
21 public long getHits() {
22 return hits.get();
23 }
24
25 public long getMisses() {
26 return misses.get();
27 }
28
29 public long getExpirations() {
30 return expirations.get();
31 }
32
33 public long incrementWrites() {
34 return writes.getAndIncrement();
35 }
36
37 public long incrementHits() {
38 return hits.getAndIncrement();
39 }
40
41 public long incrementMisses() {
42 return misses.getAndIncrement();
43 }
44
45 public long incrementExpirations() {
46 return expirations.getAndIncrement();
47 }
48 }