package foundation.dao; import foundation.action.ActionProvider; import foundation.data.entity.Entity; import foundation.data.object.DataObject; import foundation.data.object.EntitySaver; import foundation.translator.Translator; public class Settings extends ActionProvider { private static DataObject dataObject; @Override protected void publishMethod() { //1. 获取 setting addMethod("getValue"); //2. 设置 setting addMethod("setValue"); } public synchronized void getValue() throws Exception { if (dataObject == null) { dataObject = DataObject.getInstance("sys_setting"); } String name = dataReader.getString("name"); Entity entity = dataObject.getTableEntity(new Filter("name", name)); if (entity == null) { dataWriter.addValue(""); return; } String value = entity.getString("value"); dataWriter.addValue(value); } public synchronized void setValue() throws Exception { if (dataObject == null) { dataObject = DataObject.getInstance("sys_setting"); } String name = dataReader.getString("name"); String value = dataReader.getString("value"); Entity entity = dataObject.getTableEntity(new Filter("name", name)); if (entity == null) { return; } EntitySaver saver = dataObject.createEntitySaver(entity); saver.set("value", value); saver.update(); } public static String getString(String name) throws Exception { if (dataObject == null) { dataObject = DataObject.getInstance("sys_setting"); } Entity entity = dataObject.getTableEntity(new Filter("code", name)); if (entity == null) { return null; } String value = entity.getString("value"); return value; } public static boolean getBoolean(String name, boolean defaultValue) throws Exception { if (dataObject == null) { dataObject = DataObject.getInstance("sys_setting"); } Entity entity = dataObject.getTableEntity(new Filter("name", name)); if (entity == null) { return defaultValue; } String value = entity.getString("value"); return Translator.toBoolean(value, defaultValue); } public static int getInteger(String name, int defaultValue) throws Exception { Entity entity = dataObject.getTableEntity(new Filter("name", name)); if (entity == null) { return defaultValue; } String value = entity.getString("value"); return Translator.toInteger(value, defaultValue); } }