RawTextToXmlProcessor.java |
1 /** 2 * Distribution License: 3 * JSword is free software; you can redistribute it and/or modify it under 4 * the terms of the GNU Lesser General Public License, version 2.1 or later 5 * as published by the Free Software Foundation. This program is distributed 6 * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 7 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8 * See the GNU Lesser General Public License for more details. 9 * 10 * The License is available on the internet at: 11 * http://www.gnu.org/copyleft/lgpl.html 12 * or by writing to: 13 * Free Software Foundation, Inc. 14 * 59 Temple Place - Suite 330 15 * Boston, MA 02111-1307, USA 16 * 17 * © CrossWire Bible Society, 2012 - 2016 18 * 19 */ 20 package org.crosswire.jsword.book.sword.processing; 21 22 import java.util.List; 23 24 import org.crosswire.jsword.passage.Key; 25 import org.crosswire.jsword.passage.VerseRange; 26 import org.jdom2.Content; 27 28 /** 29 * This interface declares operations to be carried out after Raw Text 30 * has been read from a backend, before it is returned as OSIS to the caller. 31 * 32 * @see gnu.lgpl.License The GNU Lesser General Public License for details. 33 * @author DM Smith 34 */ 35 public interface RawTextToXmlProcessor { 36 /** 37 * Runs before the processing starts. 38 * 39 * @param partialDom the DOM, empty at this stage 40 */ 41 void init(List<Content> partialDom); 42 43 /** 44 * Executes before a range is read from the raw data. 45 * 46 * @param range the verse that is currently being examined 47 * @param partialDom the DOM that is being built up as data is read 48 */ 49 void preRange(VerseRange range, List<Content> partialDom); 50 51 /** 52 * Executes after a verse is read from the raw data. 53 * 54 * @param verse the verse that is currently being examined 55 * @param partialDom the DOM that is being built up as data is read 56 * @param rawText the text that has been read, deciphered 57 */ 58 void postVerse(Key verse, List<Content> partialDom, String rawText); 59 } 60