timerangequery.java

来自「一个用于搜索本地文件内容的小型搜索引擎」· Java 代码 · 共 48 行

JAVA
48
字号
package queries;

import invertedList.FileRecord;
import invertedList.IQueryResult;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import stemmer.IStemmer;

public final class TimeRangeQuery extends RangeQuery {
	private BoundryState state;
	
	public void setState(BoundryState state){
		this.state = state;
	}
	
	@Override
	public Set<FileRecord> doQuery(IQueryResult queryProcessor) {
		Set<FileRecord> result = new HashSet<FileRecord>();
		Iterator<FileRecord> iter = queryProcessor.getAllFileRecords();

		while (iter.hasNext()) {
			FileRecord currentRecord = iter.next();

			long time = currentRecord.getLastModified();
			Date date = new Date(time);
			SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
			String current = formatter.format(date);
			if (state.checkBoundry(current)) {
				result.add(currentRecord);
			}
		}

		return result;
	}

	@Override
	public void setStemmer(IStemmer stemmer) {
		// TODO Auto-generated method stub

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?