/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* It caches cookbooks' metadata that being read from Github
*/
package se.kth.karamel.common.cookbookmeta;
import java.util.List;
import java.util.Set;
import se.kth.karamel.common.clusterdef.json.JsonCluster;
import se.kth.karamel.common.clusterdef.yaml.YamlCluster;
import se.kth.karamel.common.exception.KaramelException;
/**
*
* @author kamal
*/
public interface CookbookCache {
public KaramelizedCookbook readNew(String cookbookUrl) throws KaramelException;
public KaramelizedCookbook get(String cookbookUrl) throws KaramelException;
public void prepareParallel(Set<String> cookbookUrls) throws KaramelException;
public void prepareNewParallel(Set<String> cookbookUrls) throws KaramelException;
public List<KaramelizedCookbook> loadRootKaramelizedCookbooks(JsonCluster cluster) throws KaramelException;
public List<KaramelizedCookbook> loadAllKaramelizedCookbooks(YamlCluster cluster) throws KaramelException;
public List<KaramelizedCookbook> loadAllKaramelizedCookbooks(JsonCluster cluster) throws KaramelException;
}