package focusedCrawler.link.frontier; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import focusedCrawler.util.persistence.PersistentHashtable; public class HostManager { final private PersistentHashtable<Boolean> hostsData; public HostManager(Path path) { if(!Files.exists(path)) { try { Files.createDirectory(path); } catch (IOException e) { throw new RuntimeException( "Failed to create hosts manager directory: " + path.toString(), e); } } this.hostsData = new PersistentHashtable<>(path.toString(), 10000, Boolean.class); } public boolean isKnown(String host) { Boolean data = hostsData.get(host); if(data != null) { return true; } return false; } public void insert(String host) { hostsData.put(host, true); } public void close() { hostsData.close(); } }