package main.config;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Map;
import model.data.exceptions.DataSaveException;
import model.data.exceptions.RecordNotFoundException;
import model.data.xml.writers.AbstractWriter;
import org.apache.ecs.xml.XML;
import org.apache.ecs.xml.XMLDocument;
/**
* ConfigWriter.java
*
* @author Christopher Bertels (chbertel@uos.de)
* @date 16.09.2008
*
* Writer für Config Klasse.
*/
public class ConfigWriter extends AbstractWriter
{
/**
* Konstruktor für ConfigWriter. Schreibt ConfigDaten in Config-Datei.
* @param configFile Name der Config-Datei.
* @throws DataSaveException Wird geworfen, wenn etwas beim Speichern fehlschlug.
* @throws FileNotFoundException Wird geworfen, falls der Dateiname ungültig ist.
*/
public ConfigWriter(String configFile) throws DataSaveException,
FileNotFoundException
{
super(configFile);
}
/**
* Speichert die übergebenen Config-Settings in die Config-Datei.
* @param configSettingsToSave
* @throws IOException
* @throws RecordNotFoundException
*/
public void saveConfig(Map<String, String> configSettingsToSave)
throws IOException
{
XMLDocument document = new XMLDocument().addElement(new XML("config"));
for (Map.Entry<String, String> entry : configSettingsToSave.entrySet())
{
document.addElement(new XML("setting").addXMLAttribute("key",
entry.getKey()).addXMLAttribute("value", entry.getValue()));
}
writeToFile(document);
}
}