enginefactory.java

来自「网页采集系统 ================= 安装配置 -------」· Java 代码 · 共 42 行

JAVA
42
字号
package com.laozizhu.search;

import java.util.Iterator;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 解析引擎工厂。<br>
 * 通过Spring注入可用的引擎数据.<br>
 * 当然,你也可以通过set方法动态添加。
 * 
 * @author 老紫竹(laozizhu.com)
 */
public class EngineFactory {
  public Map<String, Engine> getEngineMap() {
    return engineMap;
  }

  public void setEngineMap(Map<String, Engine> engineMap) {
    this.engineMap = engineMap;
  }

  private Map<String, Engine> engineMap;

  public Engine getInstance(String url) {
    Iterator<String> it = getEngineMap().keySet().iterator();
    Pattern p;
    Matcher m = null;
    String s;
    while (it.hasNext()) {
      s = it.next();
      p = Pattern.compile(s);
      m = p.matcher(url);
      if (m.find()) {
        return getEngineMap().get(s);
      }
    }
    return null;
  }
}

⌨️ 快捷键说明

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