package org.yawni.util.cache;

//import org.yawni.util.cache.ConcurrentLinkedHashMap.EvictionPolicy;
//import static org.yawni.util.cache.ConcurrentLinkedHashMap.EvictionPolicy.*;

public class Caches {
  public static <K, V> Cache<K, V> withCapacity(final int capacity) {
    return new LRUCache<K, V>(capacity);
//    return new ConcurrentLRUCache<K, V>(capacity, LRU);
//    return new ConcurrentLRUCache<K, V>(capacity, SECOND_CHANCE);
//    return new ConcurrentLRUCache<K, V>(capacity);
//    return new UnboundedCache<K, V>(capacity);
  }
}
@@ -266,16 +266,60 @@
 city) %7B%0A
+    return new SoftCache%3CK, V%3E(capacity);%0A//
     retu
@@ -522,32 +522,83 @@
 , V%3E(capacity);%0A
+//    return new WeakHashMapCache%3CK, V%3E(capacity);%0A
 //    return new

use new SoftCache