package foundation.dao; import foundation.data.entity.Entity; import foundation.data.entity.EntitySet; public class DataCells { private DataCell jsonData; private DataCell dbData; private DataCell fileData; private DataCell createData; private DataCell resultData; public DataCells() { jsonData = new DataCell(); dbData = new DataCell(); fileData = new DataCell(); createData = new DataCell(); resultData = new DataCell(); } public void load(DataSource dataSource, Object value) { if (DataSource.Request == dataSource) { jsonData.load(value); } else if (DataSource.DB == dataSource) { dbData.load(value); } else if (DataSource.File == dataSource) { fileData.load(value); } else if (DataSource.New == dataSource) { createData.load(value); } else if (DataSource.Result == dataSource) { resultData.load(value); } } public Object getData(DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { return null; } Object result = null; for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { result = jsonData.getValue(); } else if (DataSource.DB == dataSource) { result = dbData.getValue(); } else if (DataSource.File == dataSource) { result = fileData.getValue(); } else if (DataSource.New == dataSource) { result = createData.getValue(); } else if (DataSource.Result == dataSource) { result = resultData.getValue(); } if (result != null) { break; } } return result; } public void setData(Object data, DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { return; } for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { jsonData.load(data); } else if (DataSource.DB == dataSource) { dbData.load(data); } else if (DataSource.File == dataSource) { fileData.load(data); } else if (DataSource.New == dataSource) { createData.load(data); } else if (DataSource.Result == dataSource) { resultData.load(data); } } } public Entity getEntity(DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { return null; } Entity result = null; for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { result = jsonData.getEntity(); } else if (DataSource.DB == dataSource) { result = dbData.getEntity(); } else if (DataSource.File == dataSource) { result = fileData.getEntity(); } else if (DataSource.New == dataSource) { result = createData.getEntity(); } else if (DataSource.Result == dataSource) { result = resultData.getEntity(); } if (result != null) { break; } } return result; } public EntitySet getEntitySet(DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { return null; } EntitySet result = null; for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { result = jsonData.getEntitySet(); } else if (DataSource.DB == dataSource) { result = dbData.getEntitySet(); } else if (DataSource.File == dataSource) { result = fileData.getEntitySet(); } else if (DataSource.New == dataSource) { result = createData.getEntitySet(); } else if (DataSource.Result == dataSource) { result = resultData.getEntitySet(); } if (result != null) { break; } } return result; } public boolean isEntitySet(DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { return false; } Boolean result = null; for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { result = jsonData.isEntitySet(); } else if (DataSource.DB == dataSource) { result = dbData.isEntitySet(); } else if (DataSource.File == dataSource) { result = fileData.isEntitySet(); } else if (DataSource.New == dataSource) { result = createData.isEntitySet(); } else if (DataSource.Result == dataSource) { result = resultData.isEntitySet(); } if (result != null) { break; } } if (result == null) { result = false; } return result; } public boolean isEntity(DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { return false; } Boolean result = null; for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { result = jsonData.isEntity(); } else if (DataSource.DB == dataSource) { result = dbData.isEntity(); } else if (DataSource.File == dataSource) { result = fileData.isEntity(); } else if (DataSource.New == dataSource) { result = createData.isEntity(); } else if (DataSource.Result == dataSource) { result = resultData.isEntity(); } if (result != null) { break; } } if (result == null) { result = false; } return result; } public boolean isEmpty(DataSource... dataSources) { if (dataSources == null || dataSources.length == 0) { dataSources = new DataSource[] {DataSource.Request, DataSource.DB, DataSource.File, DataSource.New, DataSource.Result}; } boolean result = true; for (DataSource dataSource: dataSources) { if (DataSource.Request == dataSource) { result = jsonData.isEmpty(); } else if (DataSource.DB == dataSource) { result = dbData.isEmpty(); } else if (DataSource.File == dataSource) { result = fileData.isEmpty(); } else if (DataSource.New == dataSource) { result = createData.isEmpty(); } else if (DataSource.Result == dataSource) { result = resultData.isEmpty(); } if (!result) { return result; } } return result; } public void setResult(DataSource dataSource) { if (DataSource.Request == dataSource) { resultData = jsonData; } else if (DataSource.DB == dataSource) { resultData = dbData; } else if (DataSource.File == dataSource) { resultData = fileData; } else if (DataSource.New == dataSource) { resultData = createData; } } }