package edu.cmu.minorthird.text; import java.io.Serializable; import java.util.Collections; import java.util.Iterator; import edu.cmu.minorthird.text.mixup.Mixup; /** * Finds spans using a mixup expression evaluated in a fixed labeling. * * @author William Cohen */ public class MixupFinder implements SpanFinder,Serializable{ static private final long serialVersionUID=20080303L; // private static final TextLabels EMPTY_LABELS = new EmptyLabels(); private Mixup mixup; public MixupFinder(Mixup mixup){ this.mixup=mixup; } @Override public Iterator<Span> findSpans(TextLabels labels,Iterator<Span> documentSpanLooper){ return mixup.extract(labels,documentSpanLooper); } @Override public Iterator<Span> findSpans(TextLabels labels,Span documentSpan){ Iterator<Span> singletonLooper=Collections.singleton(documentSpan).iterator(); return findSpans(labels,singletonLooper); } @Override public Details getDetails(Span s){ return new Details(1.0,mixup); } @Override public String explainFindSpans(TextLabels labels,Span documentSpan){ return "Spans found using mixup expression: "+mixup; } }