背景:有的时候需要记住上一个时刻的状态,因为可以使用记忆设计模式记住上次操作的一些参数。
具体的代码如下:
package rememberSet;
/**
*
* 历史状态
*/
public class HistoryStatus {
private String fileName;
private long start;
private long end;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public long getStart() {
return start;
}
public void setStart(long start) {
this.start = start;
}
public long getEnd() {
return end;
}
public void setEnd(long end) {
this.end = end;
}
}
package rememberSet;
import java.util.List;
import com.google.common.collect.Lists;
/**
* 记忆集合
*/
public class HistoryStatusRememberSet {
static List<HistoryStatus> status=Lists.newArrayList();
public void clear(){
status.clear();
}
/**
* 记忆集返回历史数据
* @param fileName
* @param create
* @return
*/
public static HistoryStatus getHistoryStatus(String fileName,boolean create){
for(HistoryStatus historyStatus:status){
if(historyStatus.getFileName().equals(fileName)){
return historyStatus;
}
}
if(create){
HistoryStatus historyStatus=new HistoryStatus();
historyStatus.setFileName(fileName);
historyStatus.setStart(0);
status.add(historyStatus);
return historyStatus;
}else{
return null;
}
}
}