Coverage Report - org.webslinger.lang.KeyedCounter
 
Classes in this File Line Coverage Branch Coverage Complexity
KeyedCounter
0%
0/5
N/A
0
KeyedCounter$1
0%
0/3
N/A
0
 
 1  
 package org.webslinger.lang;
 2  
 
 3  
 import java.util.Map;
 4  
 import java.util.TreeMap;
 5  
 import java.util.concurrent.atomic.AtomicInteger;
 6  
 
 7  0
 public class KeyedCounter {
 8  0
     private final AtomicMap<String, AtomicInteger> map = new AtomicMap<String, AtomicInteger>(new TreeMap<String, AtomicInteger>()) {
 9  
         protected AtomicInteger createValue(String name) {
 10  0
             return new AtomicInteger();
 11  
         }
 12  
 
 13  
         protected Map<String, AtomicInteger> copyMap(Map<String, AtomicInteger> oldMap) {
 14  0
             return new TreeMap<String, AtomicInteger>(oldMap);
 15  
         }
 16  
     };
 17  
 
 18  
     public void incr(String name) {
 19  0
         map.getOrCreate(name).incrementAndGet();
 20  0
     }
 21  
 
 22  
     public String toString() {
 23  0
         return map.map().toString();
 24  
     }
 25  
 }