package foundation.io.object;
|
|
import java.io.File;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.EntitySet;
|
import foundation.data.object.DataObject;
|
import foundation.json.IJSONProvider;
|
import foundation.json.IJSONWriter;
|
import foundation.server.config.Configer;
|
import foundation.util.ID;
|
import foundation.util.Util;
|
|
public class FileRecord implements IJSONProvider {
|
|
private boolean empty;
|
private String senderName;
|
private String senderId;
|
private String indexId;
|
private String senderFieldFileName;
|
private String senderFieldFileId;
|
private String fileName;
|
private String path;
|
private Long fileSize;
|
private String contentType;
|
private String fileIndexName;
|
private EntitySet entitySet;
|
|
public FileRecord() {
|
empty = true;
|
senderFieldFileName = "file_name";
|
senderFieldFileId = "file_id";
|
}
|
|
public void load(Entity entity) {
|
indexId = entity.getString("id");
|
senderId = entity.getString("sender_id");
|
senderName = entity.getString("sender_data_name");
|
senderFieldFileName = entity.getString("sender_field_file_name");
|
senderFieldFileId = entity.getString("sender_field_file_id");
|
fileName = entity.getString("file_name");
|
path = entity.getString("file_path");
|
contentType = entity.getString("file_content_type");
|
}
|
|
public String getSenderName() {
|
return senderName;
|
}
|
|
public void setSenderName(String senderName) {
|
this.senderName = senderName;
|
}
|
|
public String getFileIndexName() {
|
return fileIndexName;
|
}
|
|
public void setFileIndexName(String fileIndexName) throws Exception {
|
this.fileIndexName = fileIndexName;
|
}
|
|
public String getSenderId() {
|
return senderId;
|
}
|
|
public void setSenderId(String senderId) {
|
if (Util.isEmpty(senderId)) {
|
senderId = ID.newValue();
|
}
|
|
this.senderId = senderId;
|
}
|
|
public String getFileName() {
|
return fileName;
|
}
|
|
public File getFile() {
|
File file = new File(path);
|
return file;
|
}
|
|
public void setFileName(String fileName) {
|
this.fileName = fileName;
|
}
|
|
public void setPath(String path) {
|
this.path = path;
|
empty = false;
|
}
|
|
public String getPath() {
|
return path;
|
}
|
|
public String getPath(boolean translate) {
|
if (path == null || !translate) {
|
return path;
|
}
|
|
String result = path.replace("\\", "/");
|
return result;
|
}
|
|
private Object getRelativePath() {
|
if (path == null) {
|
return path;
|
}
|
|
String result = path.replace("\\", "/").replace(Configer.getParam("PathRepository"), "");
|
return result;
|
}
|
|
public void setFileSize(Long size) {
|
this.fileSize = size;
|
}
|
|
public Long getFileSize() {
|
return fileSize;
|
}
|
|
public boolean isEmpty() {
|
return empty;
|
}
|
|
public void setContentType(String contentType) {
|
this.contentType = contentType;
|
}
|
|
public String getContentType() {
|
return contentType;
|
}
|
|
public String getIndexId() {
|
return indexId;
|
}
|
|
public void setIndexId(String indexId) {
|
this.indexId = indexId;
|
}
|
|
public void setSenderFieldFileName(String senderFieldFileName) {
|
if (Util.isEmpty(senderFieldFileName)) {
|
senderFieldFileName = "file_name";
|
}
|
|
this.senderFieldFileName = senderFieldFileName;
|
}
|
|
public void setSenderFieldFileId(String senderFieldFileId) {
|
if (Util.isEmpty(senderFieldFileId)) {
|
senderFieldFileId = "file_id";
|
}
|
|
this.senderFieldFileId = senderFieldFileId;
|
}
|
|
public Object getSenderFieldFileName() {
|
return senderFieldFileName;
|
}
|
|
public Object getSenderFieldFileId() {
|
return senderFieldFileId;
|
}
|
|
public void addFileEntity(Entity entity) throws Exception {
|
DataObject dataObject = DataObject.getInstance(fileIndexName);
|
if (entitySet == null) {
|
entitySet = dataObject.createTableEntitySet();
|
}
|
|
Entity recordEntity = dataObject.createTableEmptyEntity();
|
recordEntity.copyFrom(entity);
|
recordEntity.set(IFileLetter.FilePath, getRelativePath());
|
entitySet.append(recordEntity);
|
}
|
|
@Override
|
public void writeJSON(IJSONWriter writer) {
|
writer.beginObject();
|
|
writer.write("file_index_id", indexId);
|
writer.write("sender_id", senderId);
|
writer.write("sender_data_name", senderName);
|
writer.write("sender_field_file_name", senderFieldFileName);
|
writer.write("sender_field_file_id", senderFieldFileId);
|
writer.write("file_name", fileName);
|
writer.write("file_size", fileSize);
|
writer.write("file_content_type", contentType);
|
writer.write("file_index_name", fileIndexName);
|
writer.write("file_list", entitySet);
|
|
writer.endObject();
|
}
|
}
|