public EventMatcher constructMatcher() { List<EventMatcher> valueMatchers = new ArrayList<EventMatcher>(m_values.size()); for(String value : m_values) { if (value == null) continue; if (value.startsWith("~")) { valueMatchers.add(valueMatchesRegexMatcher(field(m_name), value)); } else if (value.endsWith("%")) { valueMatchers.add(valueStartsWithMatcher(field(m_name), value)); } else { valueMatchers.add(valueEqualsMatcher(field(m_name), value)); } } if (valueMatchers.size() == 1) { return valueMatchers.get(0); } else { EventMatcher[] matchers = valueMatchers.toArray(new EventMatcher[valueMatchers.size()]); return EventMatchers.or(matchers); } }
public EventMatcher constructMatcher() { if (m_vbnumber == null) return EventMatchers.trueMatcher(); List<EventMatcher> valueMatchers = new ArrayList<EventMatcher>(m_values.size()); for(final String value : m_values) { if (value == null) continue; if (value.startsWith("~")) { valueMatchers.add(valueMatchesRegexMatcher(varbind(m_vbnumber), value)); } else if (value.endsWith("%")) { valueMatchers.add(valueStartsWithMatcher(varbind(m_vbnumber), value)); } else { valueMatchers.add(valueEqualsMatcher(varbind(m_vbnumber), value)); } } if (valueMatchers.size() == 1) { return valueMatchers.get(0); } else { EventMatcher[] matchers = valueMatchers.toArray(new EventMatcher[valueMatchers.size()]); return EventMatchers.or(matchers); } }