/* Copyright (C) 2003 Nathan Dunn All programs in this directory and subdirectories are published under the GNU General Public License as described below. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Further information about the GNU GPL is available at: http://www.gnu.org/copyleft/gpl.ja.html */ package net.sf.jabref; import java.util.Enumeration; import java.util.Map; import java.util.Vector; import java.util.regex.PatternSyntaxException; public class SearchRuleSet implements SearchRule { protected Vector<SearchRule> ruleSet = new Vector<SearchRule>(); public void addRule(SearchRule newRule) { ruleSet.add(newRule); } public void clearRules() { ruleSet.clear(); } public int applyRule(Map<String, String> searchString, BibtexEntry bibtexEntry) throws PatternSyntaxException{ int score = 0; Enumeration<SearchRule> e = ruleSet.elements(); while (e.hasMoreElements()) { score += e.nextElement().applyRule(searchString, bibtexEntry); } return score; } public boolean validateSearchStrings(Map<String, String> searchStrings) { Enumeration<SearchRule> e = ruleSet.elements(); while (e.hasMoreElements()) { if (!e.nextElement().validateSearchStrings(searchStrings)) return false; } return true; } }