package fr.adrienbrault.idea.symfony2plugin.templating.dict; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * @author Daniel Espendiller <daniel@espendiller.net> */ public class TemplateFileMap { private final Map<String, Set<VirtualFile>> templateNames = new HashMap<>(); public Map<String, Set<VirtualFile>> getTemplateNames() { return templateNames; } public Set<String> getNames(@NotNull VirtualFile virtualFile) { Set<String> fileNames = new HashSet<>(); for (Map.Entry<String, Set<VirtualFile>> entry : templateNames.entrySet()) { if(entry.getValue().contains(virtualFile)) { fileNames.add(entry.getKey()); } } return fileNames; } @Deprecated public Map<String, VirtualFile> getTemplates() { Map<String, VirtualFile> templates = new HashMap<>(); for (Map.Entry<String, Set<VirtualFile>> entry : templateNames.entrySet()) { templates.put(entry.getKey(), entry.getValue().iterator().next()); } return templates; } public void put(@NotNull String namespace, @NotNull VirtualFile virtualFile) { if(!templateNames.containsKey(namespace)) { templateNames.put(namespace, new HashSet<>()); } templateNames.get(namespace).add(virtualFile); } public void putAll(@NotNull Map<String, VirtualFile> files) { for (Map.Entry<String, VirtualFile> entry : files.entrySet()) { put(entry.getKey(), entry.getValue()); } } }