package foundation.version; import foundation.dao.IFileReader; import foundation.dao.IFileWriter; import foundation.dao.IVersionIndex; import foundation.data.entity.Entity; import foundation.util.MapList; public class VersionIndex implements IVersionIndex { private MapList meta; private VersionMeta masterMeta; private String groupCode; private String versionCode; private String logId; private String path; private String stateCode; private boolean temp; public VersionIndex(String logId, String versionCode, MapList meta, VersionMeta masterMeta) { this.meta = meta; this.masterMeta = masterMeta; this.logId = logId; this.versionCode = versionCode; } public void load(Entity entity) { groupCode = entity.getString("group_code"); path = entity.getString("path"); stateCode = entity.getString("state_code"); if("preparing".equalsIgnoreCase(stateCode)) { temp = true; } else { temp = false; } } @Override public IFileWriter getFileWriter() { VersionedFileWriter writer = new VersionedFileWriter(this); return writer; } @Override public IFileReader getFileReader() { VersionedFileReader reader = new VersionedFileReader(this); return reader; } public String getgGroupCode() { return groupCode; } public String getPath() { return path; } @Override public String getHistoryDataName() { return null; } @Override public boolean isStandard() { if("active".equalsIgnoreCase(stateCode)) { return true; } return false; } @Override public boolean isTemp() { return temp; } @Override public String getIndexTableName() { return null; } public String getLogId() { return logId; } public int getVersionSequence() { return masterMeta.getVersionSequence(); } public String getGroupName() { return masterMeta.getName(); } public String getVersionCode() { return versionCode; } }