package com.mfh.comn.fs;
import java.util.HashMap;
import java.util.Map;
import com.mfh.comn.annotations.NoColumn;
/**
* 基类,用于支持文件存储。
* 文件存储字段未定,需要指定。
* @author zhangyz created on 2012-8-20
*/
public class FileAbleField implements Cloneable{//IFileAvailableBean<PK>,
private transient Map<String, FileParam> fileParams = null;// 传入的文件参数,key是属性名,因而支持多个文件字段。临时变量,最终写到数据库中,并把路径写入filePath中
public static String DEFAULT_FILEPATH_FIELD = "filePath";//缺省的文件路径字段名
//protected String filePath;//存放文件路径,实际可以有多个文件路径字段,此处提供一个缺省的
@Override
public FileAbleField clone() {
try {
return (FileAbleField)super.clone();
}
catch (CloneNotSupportedException e) {
return null;
}
}
//@Override
public boolean hasFileParam(){
if (fileParams != null && fileParams.size() > 0)
return true;
else
return false;
}
//@Override
public void clearFileParam(){
if (fileParams != null){
fileParams.clear();
fileParams = null;
}
}
@NoColumn
//@Override
public void setFileParam(String key, FileParam fileParam) {
if (fileParams == null)
fileParams = new HashMap<String, FileParam>();
fileParams.put(key, fileParam);
}
//@Override
public void addFileParam(String key, FileItemParam fileItemParam) {
if (fileParams == null)
fileParams = new HashMap<String, FileParam>();
FileParam param = fileParams.get(key);
if (param == null){
param = new FileParam();
fileParams.put(key, param);
}
param.addFileItem(fileItemParam);
}
@NoColumn
//@Override
public FileParam getFileParam(String key) {
if (fileParams == null)
return null;
else
return fileParams.get(key);
}
}