package org.opensextant.regex; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DebugPostProcessor extends PostProcessorBase { /** Log object. */ private static final Logger LOGGER = LoggerFactory.getLogger(DebugPostProcessor.class); @Override public Comparator<RegexAnnotation> getComparator() { return new PositionComparator(); } @Override public List<RegexAnnotation> decide(List<RegexAnnotation> inters) { List<RegexAnnotation> keepers = new ArrayList<RegexAnnotation>(); if (inters != null && !inters.isEmpty()) { // sort the annotations by document order Collections.sort(inters, getComparator()); // build up a message showing the alternative annotations StringBuilder tmp = new StringBuilder(); tmp.append("Must decide amongst these ").append(inters.size()).append(" annotations\n"); for (RegexAnnotation a : inters) { tmp.append("\t").append(a).append("\n"); } tmp.append("-------\n"); LOGGER.debug(tmp.toString()); // return them all keepers.addAll(inters); } return keepers; } }