package com.googlecode.mycontainer.commons.regex; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class RegexResult { private static final Logger LOG = LoggerFactory .getLogger(RegexResult.class); private Pattern pattern; private final List<RegexResultRow> rows = new ArrayList<RegexResultRow>(); public Pattern getPattern() { return pattern; } public void setPattern(Pattern pattern) { this.pattern = pattern; } public void process(String line) { List<String> groups = RegexUtil.groups(pattern, line); LogUtil.debug(LOG, "Parsing '%1s' [%2s]: [%3s]", line, pattern, groups); if (!groups.isEmpty()) { RegexResultRow row = new RegexResultRow(line); row.getGroups().addAll(groups); rows.add(row); } } public List<RegexResultRow> getRows() { return rows; } @Override public String toString() { return "[" + pattern + ", " + rows + "]"; } public RegexResultRow getRow() { if (rows.isEmpty()) { return null; } return rows.get(0); } }