package org.fastcatsearch.common; import java.io.File; import javax.xml.bind.JAXBException; import org.fastcatsearch.util.JAXBConfigs; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class XMLSettingManager<T> { protected static final Logger logger = LoggerFactory.getLogger(XMLSettingManager.class); protected File settingFile; protected T setting; protected Class<T> clazz; public XMLSettingManager(File settingFile, Class<T> clazz){ this.settingFile = settingFile; this.clazz = clazz; load(); } public void reload(){ } private void load(){ try { setting = JAXBConfigs.readConfig(settingFile, clazz); } catch (JAXBException e) { logger.error("", e); } } public T getSetting(){ return setting; } public void save(){ try { JAXBConfigs.writeConfig(settingFile, setting, clazz); } catch (JAXBException e) { logger.error("", e); } } }