package diskCacheV111.poolManager;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
class LinkMap {
private static class LinkMapEntry {
private final Link _link;
private int _counter;
private LinkMapEntry(Link link) {
_link = link;
_counter = link._uGroupList.size() - 1;
}
}
private final Map<String, LinkMapEntry> _linkHash = new HashMap<>();
Iterator<Link> iterator() {
List<Link> list = new ArrayList<>();
for (LinkMapEntry e : _linkHash.values()) {
if (e._counter <= 0) {
list.add(e._link);
}
}
return list.iterator();
}
void addLink(Link link) {
LinkMapEntry found = _linkHash.get(link.getName());
if (found == null) {
_linkHash.put(link.getName(), new LinkMapEntry(link));
} else {
found._counter--;
}
}
}