package org.fireflow.service.file.reader;
import org.fireflow.model.servicedef.ServiceDef;
import org.fireflow.model.servicedef.impl.AbstractServiceDef;
import org.fireflow.model.servicedef.impl.JavaInterfaceDef;
import org.fireflow.service.file.FileObject;
public class FileReadServiceDef extends AbstractServiceDef implements ServiceDef {
/**
* 读取之后删除(暂时不采用)
*/
// public static final String DELETE_AFTER_READING = "DELETE_AFTER_READING";
/**
* 读取之后改名
*/
public static final String RENAME_AFTER_READING = "RENAME_AFTER_READING";
/**
* 读取之后将源文件转移到另一个文件夹
*/
public static final String REMOVE_AFTER_READING = "REMOVE_AFTER_READING";
public static final String READ_FILE_SUFFIX = ".read";
/**
* 文件目录
*/
private String directory = null;
/**
* 备份目录,当strategyAfterReading=REMOVE_AFTER_READING时,已经读取的文件被转移到该目录
*/
private String bakupDirectory = null;
/**
* 读取之后的策略,null或者空字符串表示什么都不做。<br>
* 当该值等于DELETE_AFTER_READING时,表示读取完毕后删除源文件;<<br> * 当该值等于RENAME_AFTER_READING时,表示读取完毕后改源文件名字;尾缀变成“.read”;<b<br> * 当该值等于REMOVE_AFTER_READING时,表示读取完毕后源文件被转移到bakupDirectory;
*/
private String strategyAfterReading = "";
private String fileNameSuffix = null;//文件名模式,用于匹配已经读取的文件
/**
* 每次读取的文件数量,默认值1
*/
private Integer batchSize = 1;
private String fileType = FileObject.FILE_TYPE_TEXT;
private String charset = "UTF-8";
public FileReadServiceDef(){
super();
}
public void afterPropertiesSet(){
//构造缺省的interface
// _interface = new CommonInterface();
// OperationImpl operation = new OperationImpl();
// operation.setOperationName("readFiles");
// OutputImpl outputImpl = new OutputImpl();
// outputImpl.setName("files");
// outputImpl.setDisplayName("The Files");
// outputImpl.setDataType(new QName(NameSpaces.JAVA.getUrl(),"java.util.Map"));
// _interface.getOperations().add(operation);
JavaInterfaceDef javaInterface = new JavaInterfaceDef();
javaInterface.setInterfaceClassName("org.fireflow.service.file.reader.FileReader");
this.setInterface(javaInterface);
this.invokerClassName = "org.fireflow.service.file.reader.FileReaderInvoker";
}
public String getDirectory() {
return directory;
}
public void setDirectory(String directory) {
this.directory = directory;
}
public String getStrategyAfterReading() {
return strategyAfterReading;
}
public void setStrategyAfterReading(String strategyAfterReading) {
this.strategyAfterReading = strategyAfterReading;
}
public String getFileNameSuffix() {
return fileNameSuffix;
}
public void setFileNameSuffix(String fileNameSuffix) {
this.fileNameSuffix = fileNameSuffix;
}
public String getBakupDirectory() {
return bakupDirectory;
}
public void setBakupDirectory(String bakupDirectory) {
this.bakupDirectory = bakupDirectory;
}
public Integer getBatchSize() {
return batchSize;
}
public void setBatchSize(Integer batchSize) {
this.batchSize = batchSize;
}
public String getFileType() {
return fileType;
}
public void setFileType(String fileType) {
this.fileType = fileType;
}
public String getCharset() {
return charset;
}
public void setCharset(String charset) {
this.charset = charset;
}
}