package org.jabref.model.search.matchers; import java.util.List; import java.util.Objects; import java.util.Vector; import org.jabref.model.search.SearchMatcher; public abstract class MatcherSet implements SearchMatcher { protected final List<SearchMatcher> matchers = new Vector<>(); @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } MatcherSet that = (MatcherSet) o; return matchers.equals(that.matchers); } @Override public int hashCode() { return matchers.hashCode(); } public void addRule(SearchMatcher newRule) { matchers.add(Objects.requireNonNull(newRule)); } @Override public String toString() { final StringBuilder sb = new StringBuilder("MatcherSet{"); sb.append("matchers=").append(matchers); sb.append('}'); return sb.toString(); } }