package edu.stanford.nlp.process; import edu.stanford.nlp.ling.Document; /** * Top-level interface for transforming Documents. * * @author Sepandar Kamvar (sdkamvar@stanford.edu) * @see #processDocument * @author Sarah Spikes (sdspikes@cs.stanford.edu) (Templatization) * * @param <L> The type of the labels */ public interface DocumentProcessor<IN,OUT, L, F> { /** * Converts a Document to a different Document, by transforming * or filtering the original Document. The general contract of this method * is to not modify the <code>in</code> Document in any way, and to * preserve the metadata of the <code>in</code> Document in the * returned Document. * * @see FunctionProcessor */ public Document<L, F, OUT> processDocument(Document<L, F, IN> in); }