/// @param minReloadIntervalMS /// the minimum interval in milliseconds after which a full reload of the original datafile is done /// when refresh() is called /// @see #FileItemSimilarity(File) public FileItemSimilarity(File dataFile, long minReloadIntervalMS) { //Preconditions.checkArgument(dataFile != null, "dataFile is null"); //Preconditions.checkArgument(dataFile.exists() && !dataFile.isDirectory(), // "dataFile is missing or a directory: %s", dataFile); log.info("Creating FileItemSimilarity for file {}", dataFile); this.dataFile = dataFile.getAbsoluteFile(); this.lastModified = dataFile.lastModified(); this.minReloadIntervalMS = minReloadIntervalMS; this.reloadLock = new ReentrantLock(); reload(); }