/**
*Programme cree par The Clusters
*Classe de creation d'un fichier .properties
*@see Serveur.java, Client.java
*@author The Clusters
*@version 1.0
**/

package chkoba;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import chkoba.*;

/**
*	Classe PropertiesPerso
*/

public class PropertiesPerso
{

	public PropertiesPerso() 
	{
		super();
	}

	
	/**
	* Cette methode stocke le fichier Properties a l'emplacement specifie
	* 
	* @param props Le fichier a stocker
	* @throws FileNotFoundException
	* @throws IOException si une erreur est survenue lors de l'ecriture du fichier
	*/
	public void saveProperties(Properties props) throws FileNotFoundException,IOException 
	{
		OutputStream out = new FileOutputStream("configuration.properties");
		props.store(out, "Properties perso\nCree par The Clusters\nProgramme Chkoba partie RMI\nContient toutes les infos du serveur\n"+
					"Doit pour l'instant être copie en dur dans le PC du client ( dossier racine de Chkoba )");
		out.flush();
		out.close();
	}
	
	
	/**
	* Cette methode lit un fichier Properties a l'emplacement specifie
	* 
	* @return Le fichier Properties charge
	* @throws FileNotFoundException si le fichier n'a pas ete trouve
	* @throws IOException si une erreur est survenue durant la lecture
	*/
	public Properties loadProperties() throws FileNotFoundException, IOException 
	{
		Properties props = new Properties();
		props.load(new FileInputStream("configuration.properties"));
		return props;
	}
	
	/**
	* Cette methode affiche chaque paire [cle,valeur] d'un fichier Properties
	* @param props Le fichier a afficher
	*/
	public void displayProperties(Properties props) 
	{
		Iterator it = props.keySet().iterator();
		while (it.hasNext()) 
		{
			String propertyName = (String) it.next();
			String propertyValue = props.getProperty(propertyName);
			System.out.println(propertyName + "=" + propertyValue);
		}
	}
}