1 package com.irtimaled.bbor.common;
3 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
5 import java.util.HashSet;
8 import java.util.concurrent.ConcurrentHashMap;
10 public class BoundingBoxCache {
11 private Map<AbstractBoundingBox, Set<AbstractBoundingBox>> cache = new ConcurrentHashMap<>();
13 public Map<AbstractBoundingBox, Set<AbstractBoundingBox>> getBoundingBoxes() {
21 public boolean isCached(AbstractBoundingBox key) {
22 return cache.containsKey(key);
25 public void addBoundingBoxes(AbstractBoundingBox key, Set<AbstractBoundingBox> boundingBoxes) {
26 cache.put(key, boundingBoxes);
29 public void addBoundingBox(AbstractBoundingBox key) {
30 if (isCached(key)) return;
32 Set<AbstractBoundingBox> boundingBoxes = new HashSet<>();
33 boundingBoxes.add(key);
34 addBoundingBoxes(key, boundingBoxes);
37 void removeBoundingBox(AbstractBoundingBox key) {