package org.jmeld.util.conf;
import org.jmeld.util.*;
import java.io.*;
import java.util.*;
import javax.xml.bind.*;
public class ConfigurationPersister
{
// class variables:
private static ConfigurationPersister instance = new ConfigurationPersister();
private ConfigurationPersister()
{
}
public static ConfigurationPersister getInstance()
{
return instance;
}
/** Load a configuration of type 'clazz' from a file.
*/
public <T extends AbstractConfiguration> T load(Class<T> clazz, File file)
throws FileNotFoundException
{
T configuration;
try
{
configuration = JaxbPersister.getInstance().load(clazz, file);
}
catch (Exception ex)
{
return null;
}
configuration.init();
return configuration;
}
/** Save a configuration to a file.
*/
public void save(AbstractConfiguration configuration, File file)
throws JAXBException, IOException
{
JaxbPersister.getInstance().save(configuration, file);
}
}