import com.aliasi.corpus.Parser; import com.aliasi.corpus.TagHandler; import com.aliasi.corpus.parsers.MedPostPosParser; import com.aliasi.io.FileExtensionFilter; import com.aliasi.util.Files; import com.aliasi.util.Iterators; import java.io.File; import java.io.IOException; import java.io.StringReader; import java.util.Iterator; import org.xml.sax.InputSource; public class MedPostPosCorpus implements PosCorpus { private final File mMedPostDir; public MedPostPosCorpus(File medPostDir) { mMedPostDir = medPostDir; } public Iterator sourceIterator() { return new MedPostSourceIterator(mMedPostDir); } public Parser parser() { return new MedPostPosParser(); } public static class MedPostSourceIterator extends Iterators.Buffered { private final File[] mFiles; private int mNextFileIndex = 0; public MedPostSourceIterator(File medPostDir) { mFiles = medPostDir.listFiles(new FileExtensionFilter("ioc")); } public InputSource bufferNext() { if (mNextFileIndex >= mFiles.length) return null; try { String url = mFiles[mNextFileIndex++].toURI().toURL().toString(); return new InputSource(url); } catch (IOException e) { return null; } } } }