@Override public Q get(T request) { Long date = datesMap.get(request); if (date != null && System.currentTimeMillis() - date > maximumAge) { cache.remove(request); datesMap.remove(request); } return cache.get(request); }
@Override public void clear() { cache.clear(); datesMap.clear(); }
@Override public Collection<T> keys() { return cache.keys(); }
@Override public void remove(T key) { cache.remove(key); datesMap.remove(key); }
@Override public void put(T request, Q response) { cache.put(request, response); datesMap.put(request, System.currentTimeMillis()); }