@Override public int countVerses() { Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); int count = 0; while (it.hasNext()) { VerseRange range = it.next(); count += range.getCardinality(); } return count; }
@Override public boolean isSingleKey() { return currentNoteVerseRange==null || currentNoteVerseRange.getVerseRange().getCardinality()==1; } }
public int getNumberOfVersesDisplayed() { return currentNoteVerseRange!=null? currentNoteVerseRange.getVerseRange().getCardinality() : 1; }
/** * Ctor */ protected VerseIterator(VerseRange range) { v11n = range.getVersification(); nextVerse = range.getStart(); total = range.getCardinality(); count = 0; }
/** * Create a basic iterator that is a proxy for the RangedPassage * Passages iterator, with remove() overridden. * @param v11n * the versification to which this reference pertains * @param it */ protected VerseIterator(Versification v11n, Iterator<VerseRange> it) { Set<Key> temp = new TreeSet<Key>(); while (it.hasNext()) { VerseRange range = it.next(); int start = range.getStart().getOrdinal(); int end = range.getCardinality(); for (int i = 0; i < end; i++) { temp.add(v11n.decodeOrdinal(start + i)); } } real = temp.iterator(); }
/** * Allow override of the key, particular useful if we're constructing in 2 stages like the offset mechanism * * @param key the new key */ private void setKey(final VerseRange key) { if (key.getCardinality() == 1) { this.qualifiedKey = key.getStart(); } else { this.qualifiedKey = key; } this.wholeKey = this.qualifiedKey.getWhole(); }
VerseRange range = it.next(); out.writeInt(range.getStart().getOrdinal()); out.writeInt(range.getCardinality());
public VerseRange getNextVerseRange(AbstractPassageBook document, VerseRange verseRange, boolean continueToNextChapter) { Versification v11n = verseRange.getVersification(); int verseCount = verseRange.getCardinality(); // shuffle forward Verse start = verseRange.getStart(); Verse end = verseRange.getEnd(); int i=0; while (i++<verseCount && (continueToNextChapter || !v11n.isEndOfChapter(end))) { start = getNextVerse(document, start); end = getNextVerse(document, end); } return new VerseRange(v11n, start, end); }
public VerseRange getPreviousVerseRange(AbstractPassageBook document, VerseRange verseRange, boolean continueToPreviousChapter) { Versification v11n = verseRange.getVersification(); int verseCount = verseRange.getCardinality(); // shuffle backward Verse start = verseRange.getStart(); Verse end = verseRange.getEnd(); int i=0; while (i++<verseCount && (continueToPreviousChapter || !v11n.isStartOfChapter(start))) { start = getPrevVerse(document, start); end = getPrevVerse(document, end); } return new VerseRange(v11n, start, end); }
if (vr.getCardinality() > 1) { end = versification.add(start, vr.getCardinality() - 1);
VerseRange range = it.next(); index += toBinary(buffer, index, range.getStart().getOrdinal(), maxOrdinal); index += toBinary(buffer, index, range.getCardinality(), maxOrdinal);