package net.mc_pandacraft.java.plugin.pandacraftutils.config;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import net.mc_pandacraft.java.plugin.pandacraftutils.config.elements.AutoMessagesConfigEntry;

public class AutoMessagesConfig extends AbstractConfig {
	private List<AutoMessagesConfigEntry> config;
	
	
	public AutoMessagesConfig() throws IOException {
		super("automessages", FileType.DIR);
		
		List<File> fileList = getFileList();
		
		config = new ArrayList<AutoMessagesConfigEntry>();
		
		for (File f : fileList) {
			String name = f.getName();
			try {
				
				if (!name.matches("[0-9]+\\.txt")) continue;
				
				int i = Integer.valueOf(name.split("\\.")[0]);
				
				List<String> lines = getFileLines(false, false, false, f);
				
				if (lines.size() < 2) throw new Exception("Le fichier "+name+" n'est pas du bon format. Doit faire au moins 2 lignes");
				
				String perm = lines.remove(0);
				
				config.add(new AutoMessagesConfigEntry(i, perm, lines));
				
			} catch (Exception e) {
				warning("fichier '"+name+"' invalide");
				e.printStackTrace();
			}
		}
		
		
		// tri des messages automatiques selon le numéro du fichier
		Collections.sort(config);
		
		
	}
	
	
	public List<AutoMessagesConfigEntry> getAutoMessages() {
		return Collections.unmodifiableList(config);
	}
	
}
