package logbook.config;
import java.io.IOException;
import logbook.config.bean.AppConfigBean;
import logbook.constants.AppConstants;
import logbook.internal.LoggerHolder;
import logbook.util.BeanUtils;
/**
* アプリケーション設定を保存・復元します
*
*/
public class AppConfig {
/** ロガー */
private static final LoggerHolder LOG = new LoggerHolder(AppConfig.class);
/** アプリケーション設定 */
private static AppConfigBean configBean;
/**
* 設定ファイルに書き込みます
*/
public static void store() throws IOException {
if (configBean == null) {
configBean = new AppConfigBean();
}
BeanUtils.writeObject(AppConstants.APP_CONFIG_FILE, configBean);
}
/**
* アプリケーション設定を読み込みます
*/
public static void load() {
try {
AppConfigBean bean = BeanUtils.readObject(AppConstants.APP_CONFIG_FILE, AppConfigBean.class);
if (bean != null) {
configBean = bean;
} else {
configBean = new AppConfigBean();
}
} catch (Exception e) {
LOG.get().warn("アプリケーション設定を読み込みますに失敗しました", e);
}
}
/**
* アプリケーション設定を取得します
*
* @return アプリケーション設定
*/
public static AppConfigBean get() {
return configBean;
}
}