package de.micromata.borgbutler.cache; import de.micromata.borgbutler.json.borg.RepoInfo; import de.micromata.borgbutler.json.borg.Repository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; public class RepoInfoCache extends AbstractCache { private static Logger log = LoggerFactory.getLogger(RepoInfoCache.class); public static final String CACHE_REPOS_BASENAME = "repos"; public boolean matches(RepoInfo element, String identifier) { Repository repository = element.getRepository(); if (repository == null) { return false; } return identifier.equals(repository.getId()) || identifier.equals(repository.getName()) || identifier.equals(repository.getLocation()); } public String getIdentifier(RepoInfo element) { return element.getRepository().getId(); } public void updateFrom(RepoInfo dest, RepoInfo source) { dest.updateFrom(source); } /** * Needed by jackson for deserialization. */ RepoInfoCache() { } RepoInfoCache(File cacheDir) { super(cacheDir, CACHE_REPOS_BASENAME); } }