package zxc.model.support;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;
@SuppressWarnings("unchecked")
public class IeudBean {
//==============================文件下载属性================================
private String contentType = "text/plain";
private String contentLength = null;
private String inputName = "targetStream";
private String contentDisposition = "inline";
private int bufferSize = 4096;
//==============================文件上传属性================================
private File upload;
private String uploadContentType;
private String uploadFilePath;
private String uploadFileName;
private String uploadExtension;
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getContentLength() {
return contentLength;
}
public void setContentLength(String contentLength) {
this.contentLength = contentLength;
}
public String getInputName() {
return inputName;
}
public void setInputName(String inputName) {
this.inputName = inputName;
}
public String getContentDisposition() {
return contentDisposition.indexOf("filename") < 0 ? "filename=\"" + contentDisposition + "\"" : contentDisposition;
}
public void setContentDisposition(String contentDisposition) {
this.contentDisposition = contentDisposition;
}
public int getBufferSize() {
return bufferSize;
}
public void setBufferSize(int bufferSize) {
this.bufferSize = bufferSize;
}
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFilePath() {
return uploadFilePath;
}
public void setUploadFilePath(String uploadFilePath) {
this.uploadFilePath = uploadFilePath;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
if (uploadFileName != null && uploadFileName.lastIndexOf(".") > 0) {
this.uploadExtension = uploadFileName.substring(uploadFileName.lastIndexOf(".") + 1);
}
}
public String getUploadExtension() {
return uploadExtension;
}
public void setUploadExtension(String uploadExtension) {
this.uploadExtension = uploadExtension;
}
//==========================================辅助文件(流)====================================
private File downLoadFile;
private InputStream downLoadStream;
public File getDownLoadFile() {
return downLoadFile;
}
public void setDownLoadFile(File downLoadFile) {
this.downLoadFile = downLoadFile;
}
public InputStream getDownLoadStream() {
return downLoadStream;
}
public void setDownLoadStream(InputStream downLoadStream) {
this.downLoadStream = downLoadStream;
}
//======================================获取默认的下载文件流==========================
public InputStream getTargetStream() {
if (this.downLoadStream != null) {
return this.downLoadStream;
} else if (this.downLoadFile != null) {
try {
return new FileInputStream(this.downLoadFile);
} catch (FileNotFoundException e) {
System.err.println("指定的文件不存在");
return new ByteArrayInputStream(new byte[0]);
}
} else {
return new ByteArrayInputStream(new byte[0]);
}
}
//=====================================辅助文件下载===================================
private String exportTPL;
//如果为true表示导出;如果为false表示导入;如果为null表示即不导入也不导出
private Boolean export;
private String region;
public String getExportTPL() {
return exportTPL;
}
public void setExportTPL(String exportTPL) {
this.exportTPL = exportTPL;
}
public Boolean getExport() {
return export;
}
public void setExport(Boolean export) {
this.export = export;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
@Override
public String toString() {
StringBuffer buffer = new StringBuffer(super.toString());
buffer.append("\n");
buffer.append("\tcontentType:" + contentType);
buffer.append("\tcontentLength:" + contentLength);
buffer.append("\tinputName:" + inputName);
buffer.append("\tdcontentDisposition:" + contentDisposition);
buffer.append("\n");
buffer.append("\tupload:" + upload);
buffer.append("\tuploadContentType:" + uploadContentType);
buffer.append("\tuploadFileName:" + uploadFileName);
buffer.append("\tuploadExtension:" + uploadExtension);
buffer.append("\n");
buffer.append("\tdownLoadFile:" + downLoadFile);
buffer.append("\tdownLoadStream:" + downLoadStream);
buffer.append("\texportTPL:" + exportTPL);
buffer.append("\texport:" + export);
buffer.append("\tregion:" + region);
buffer.append("\n");
//如果数据量太大则不便输出
if (exportData==null||(exportData instanceof List&& ((List<?>)exportData).size()<100)) {
buffer.append("\texportData:" + exportData);
}
buffer.append("\texportCompleted:" + exportCompleted);
buffer.append("\toneTimeExport:" + oneTimeExport);
return buffer.toString();
}
//需要导出数据的暂存地
private Object exportData;
private boolean exportCompleted;
private Boolean oneTimeExport = true;
private Integer maxCountOneTime;
//是否为列不定的情况
private Boolean dynamicCol = false;
public Object getExportData() {
return exportData;
}
public void setExportData(Object exportData) {
this.exportData = exportData;
}
public boolean getExportCompleted() {
return exportCompleted;
}
public void setExportCompleted(boolean exportCompleted) {
this.exportCompleted = exportCompleted;
}
public Boolean getOneTimeExport() {
return oneTimeExport;
}
public void setOneTimeExport(Boolean oneTimeExport) {
this.oneTimeExport = oneTimeExport;
}
public Integer getMaxCountOneTime() {
return maxCountOneTime;
}
public void setMaxCountOneTime(Integer maxCountOneTime) {
this.maxCountOneTime = maxCountOneTime;
}
public Boolean getDynamicCol() {
return dynamicCol;
}
public void setDynamicCol(Boolean dynamicCol) {
this.dynamicCol = dynamicCol;
}
}