Search in sources :

Example 1 with ParatextBookContentPart

use of biblemulticonverter.format.paratext.ParatextBook.ParatextBookContentPart in project BibleMultiConverter by schierlm.

the class AbstractParatextFormat method doImportBooks.

public final List<ParatextBook> doImportBooks(File inputFile) throws Exception {
    List<ParatextBook> result = doImportAllBooks(inputFile);
    String keepParts = System.getProperty("biblemulticonverter.paratext.keepparts", null);
    if (keepParts != null) {
        EnumSet<KeepIf> partsToKeep = EnumSet.noneOf(KeepIf.class);
        for (String flag : keepParts.split("[^A-Za-z]+")) {
            partsToKeep.add(KeepIf.valueOf(flag.toUpperCase()));
        }
        for (int i = 0; i < result.size(); i++) {
            ParatextBook book = result.get(i);
            boolean keep = true;
            if (book.getId().getId().isDeuterocanonical()) {
                keep = partsToKeep.contains(KeepIf.DC);
            } else if (book.getId().getId().isNT()) {
                keep = partsToKeep.contains(KeepIf.NT);
            } else if (book.getId().getId().getZefID() > 0) {
                keep = partsToKeep.contains(KeepIf.OT);
            }
            if (!keep) {
                result.remove(i);
                i--;
                continue;
            }
            for (int j = 0; j < book.getContent().size(); j++) {
                ParatextBookContentPart part = book.getContent().get(i);
                if (part instanceof ParatextCharacterContent) {
                    filterContents(((ParatextCharacterContent) part).getContent(), partsToKeep);
                }
            }
        }
    }
    return result;
}
Also used : ParatextBookContentPart(biblemulticonverter.format.paratext.ParatextBook.ParatextBookContentPart) KeepIf(biblemulticonverter.format.paratext.ParatextCharacterContent.KeepIf)

Aggregations

ParatextBookContentPart (biblemulticonverter.format.paratext.ParatextBook.ParatextBookContentPart)1 KeepIf (biblemulticonverter.format.paratext.ParatextCharacterContent.KeepIf)1