
001package org.hl7.fhir.r5.terminologies.utilities; 002 003import org.hl7.fhir.utilities.filesystem.ManagedFileAccess; 004 005import java.io.File; 006import java.io.IOException; 007 008public interface TerminologyCapabilitiesCache<V> { 009 boolean containsKey(String key); 010 011 V get(String key); 012 013 V put(String key, V value); 014 015 static boolean cacheFileHasExpired(String fn, long expirationTimeMillis) throws IOException { 016 File cacheFile = ManagedFileAccess.csfile(fn); 017 if (!cacheFile.exists()) { 018 return true; 019 } 020 final long lastModified = cacheFile.lastModified(); 021 final long currentTime = System.currentTimeMillis(); 022 023 return (currentTime - lastModified) > expirationTimeMillis; 024 } 025}