package br.ufrgs.inf.prosoft.adaptivecaching.analysis.decision;

import br.ufrgs.inf.prosoft.adaptivecaching.analysis.decision.flowchart.model.MethodStats;
import br.ufrgs.inf.prosoft.tigris.monitoring.metadata.MethodInfo;
import br.ufrgs.inf.prosoft.adaptivecaching.cache.CacheInfo;

/**
 * The interface Cache decider.
 */
public interface CacheDecider {

    /**
     * Is cacheable boolean.
     *
     * @param cacheInfo   the cache info
     * @param methodInfo  the method info
     * @param methodStats the method stats
     * @return the boolean
     */
    boolean isCacheable(CacheInfo cacheInfo, MethodInfo methodInfo, MethodStats methodStats);

}
