package com.ximple.eofms.filter; import java.util.LinkedList; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.ximple.io.dgn7.Element; public abstract class AbstractDispatchableFilter implements ElementDispatchableFilter { private String name; private String description; private LinkedList typeIdCriterions; private LinkedList levelCriterions; protected Log logger = LogFactory.getLog(AbstractFLinkageDispatchableFilter.class); public AbstractDispatchableFilter() { typeIdCriterions = new LinkedList(); levelCriterions = new LinkedList(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public void addCriterion(ElementTypeCriterion criterion) { typeIdCriterions.add(criterion); } public void addLevelCriterion(ElementLevelCriterion criterion) { levelCriterions.add(criterion); } protected int compareType(Element element) { for (ElementTypeCriterion criterion : typeIdCriterions) { if (criterion.compareTo(element) == 0) return 0; } return -1; } protected int compareLevel(Element element) { for (ElementLevelCriterion criterion : levelCriterions) { if (criterion.compareTo(element) == 0) return 0; } return -1; } }