001package org.hl7.fhir.r5.terminologies.utilities;
002
003import org.apache.commons.collections4.map.PassiveExpiringMap;
004
005import java.util.concurrent.TimeUnit;
006
007
008public class CommonsTerminologyCapabilitiesCache<V> implements TerminologyCapabilitiesCache<V>{
009
010  PassiveExpiringMap<String, V> cache;
011
012  public CommonsTerminologyCapabilitiesCache(long timeToLive, TimeUnit timeUnit) {
013    cache = new PassiveExpiringMap<>(timeToLive, timeUnit);
014  }
015
016  @Override
017  public boolean containsKey(String key) {
018    return cache.containsKey(key);
019  }
020
021  @Override
022  public V get(String key) {
023    return cache.get(key);
024  }
025
026  @Override
027  public V put(String key, V value) {
028    return cache.put(key, value);
029  }
030}