concretequerycreator.java

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

JAVA
40
字号
package queries;


public class ConcreteQueryCreator extends QueryCreator {
	private volatile static ConcreteQueryCreator uniqueInstance;

	
	private ConcreteQueryCreator(){
	}
	
	@Override
	public Query buildQuery(String token) {
		Query query = null;
		if(token.contains("\"")){
			if(!token.contains("~")){
				token = token + "~0";
			}
			query = new WordDistanceQuery(token);
		}else{
			if(token.startsWith("filecontents:")){
				token = token.substring(13,token.length());
			}
			query = new ConcreteQuery(token);
		}
		return query;
	}
	
	public static ConcreteQueryCreator getInstance(){
		if(uniqueInstance == null){
			synchronized(ConcreteQueryCreator.class){
				if(uniqueInstance == null){
					uniqueInstance = new ConcreteQueryCreator();
				}
			}
		}
		return uniqueInstance;
	}

}

⌨️ 快捷键说明

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