diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 14:22:20 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 15:48:01 -0700 |
commit | 3102d8bce3426d9cf41aeaf201c360d342677770 (patch) | |
tree | 38c4f1e8828f9af9c4b77a173bee0d312b321698 /src/com/p4square/grow/provider/MapCollectionProvider.java | |
parent | bbf907e51dfcf157bdee24dead1d531122aa25db (diff) |
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'src/com/p4square/grow/provider/MapCollectionProvider.java')
-rw-r--r-- | src/com/p4square/grow/provider/MapCollectionProvider.java | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/com/p4square/grow/provider/MapCollectionProvider.java b/src/com/p4square/grow/provider/MapCollectionProvider.java deleted file mode 100644 index 4c5cef6..0000000 --- a/src/com/p4square/grow/provider/MapCollectionProvider.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2015 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; -import java.util.Iterator; -import java.util.Map; -import java.util.HashMap; - -/** - * In-memory CollectionProvider implementation, useful for tests. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class MapCollectionProvider<C, K, V> implements CollectionProvider<C, K, V> { - private final Map<C, Map<K, V>> mMap; - - public MapCollectionProvider() { - mMap = new HashMap<>(); - } - - @Override - public synchronized V get(C collection, K key) throws IOException { - Map<K, V> map = mMap.get(collection); - if (map != null) { - return map.get(key); - } - - return null; - } - - @Override - public synchronized Map<K, V> query(C collection) throws IOException { - Map<K, V> map = mMap.get(collection); - if (map == null) { - map = new HashMap<K, V>(); - } - - return map; - } - - @Override - public synchronized Map<K, V> query(C collection, int limit) throws IOException { - Map<K, V> map = query(collection); - - if (map.size() > limit) { - Map<K, V> smallMap = new HashMap<>(); - - Iterator<Map.Entry<K, V>> iterator = map.entrySet().iterator(); - for (int i = 0; i < limit; i++) { - Map.Entry<K, V> entry = iterator.next(); - smallMap.put(entry.getKey(), entry.getValue()); - } - - return smallMap; - - } else { - return map; - } - } - - @Override - public synchronized void put(C collection, K key, V obj) throws IOException { - Map<K, V> map = mMap.get(collection); - if (map == null) { - map = new HashMap<K, V>(); - mMap.put(collection, map); - } - - map.put(key, obj); - } -} |