package org.codelibs.riverweb.config;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.codelibs.fess.crawler.entity.ResponseData;
import org.codelibs.riverweb.entity.ScrapingRule;
public class RiverConfig {
private String index;
private String type;
private boolean overwrite;
private boolean incremental;
private Map<String, Object> scriptSettings;
private final List<ScrapingRule> scrapingRuleList = new ArrayList<>();
public String getIndex() {
return index;
}
public void setIndex(final String index) {
this.index = index;
}
public String getType() {
return type;
}
public void setType(final String type) {
this.type = type;
}
public boolean isOverwrite() {
return overwrite;
}
public void setOverwrite(final boolean overwrite) {
this.overwrite = overwrite;
}
public boolean isIncremental() {
return incremental;
}
public void setIncremental(final boolean incremental) {
this.incremental = incremental;
}
public void addScrapingRule(final Map<String, Object> settingMap, final Map<String, Object> patternMap,
final Map<String, Map<String, Object>> scrapingRuleMap) {
scrapingRuleList.add(new ScrapingRule(settingMap, patternMap, scrapingRuleMap));
}
public ScrapingRule getScrapingRule(final ResponseData responseData) {
for (final ScrapingRule scrapingRule : scrapingRuleList) {
if (scrapingRule.matches(responseData)) {
return scrapingRule;
}
}
return null;
}
public Map<String, Object> getScriptSettings() {
return scriptSettings;
}
public void setScriptSettings(final Map<String, Object> scriptSettings) {
this.scriptSettings = scriptSettings;
}
}