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.CommandAliasConfigEntry;

public class CommandAliasConfig extends AbstractConfig {
	
	private List<CommandAliasConfigEntry> config = new ArrayList<CommandAliasConfigEntry>();
	
	
	public CommandAliasConfig() throws IOException {
		super("commandalias", FileType.DIR);
		
		List<File> files = getFileList();
		
		for (File f : files) {

			String name = f.getName();
			
			try {
				
				List<String> lines = getFileLines(false, false, false, f);
				
				if (lines.size() != 3) throw new Exception("Le fichier "+name+" n'est pas du bon format. Doit avoir 3 lignes");
				if (!lines.get(0).startsWith("/") || !lines.get(1).startsWith("/"))
					throw new Exception("Le fichier "+name+" n'est pas du bon format. La première et la deuxième ligne doit commencer par un slash.");
				
				
				
				config.add(new CommandAliasConfigEntry(lines.get(0), lines.get(1), lines.get(2)));
				
				
			} catch (Exception e) {
				warning("fichier '"+name+"' invalide");
				e.printStackTrace();
			}
			
			
		}
		
		
		
		
	}
	
	public List<CommandAliasConfigEntry> getCommandAlias() {
		return Collections.unmodifiableList(config);
	}
	
	
}
