@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 Iterator<VerseRange> rangeIterator(RestrictionType restrict) { if (ranged != null) { return ranged.rangeIterator(restrict); } return super.rangeIterator(restrict); }
public RangedPassage convert(RangedPassage rangedPassage, Versification toVersification) { RangedPassage result = new RangedPassage(toVersification); Iterator<VerseRange> iter = rangedPassage.rangeIterator(RestrictionType.NONE); while (iter.hasNext()) { result.add(convert(iter.next(), toVersification)); } return result; }
public Iterator<Key> iterator() { return new VerseIterator(getVersification(), rangeIterator(RestrictionType.NONE)); }
Set<VerseRange> newStore = new TreeSet<VerseRange>(); Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); while (it.hasNext()) { next = it.next();
public boolean containsAll(Passage that) { if (that instanceof RangedPassage) { Iterator<VerseRange> iter = null; iter = ((RangedPassage) that).rangeIterator(RestrictionType.NONE); while (iter.hasNext()) { if (!contains(iter.next())) { return false; } } } else { Iterator<Key> iter = that.iterator(); while (iter.hasNext()) { if (!contains(iter.next())) { return false; } } } return true; }
@Override public boolean contains(Key obj) { // Even for the contains(VerseRange) case, the simple // 'return store.contains(that);' will not work because // VerseRanges can contain others but not be equal to them. VerseRange thatRange = toVerseRange(getVersification(), obj); Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); while (it.hasNext()) { VerseRange thisRange = it.next(); if (thisRange.contains(thatRange)) { return true; } } // If it is not a Verse or a VerseRange then it's not here, // this also copes with the searches failing. return false; }
Iterator<VerseRange> thatIter = ((RangedPassage) key).rangeIterator(RestrictionType.CHAPTER); while (thatIter.hasNext()) { VerseRange thatRange = thatIter.next(); Iterator<VerseRange> thisIter = rangeIterator(RestrictionType.NONE); while (thisIter.hasNext()) { Iterator<VerseRange> thisIter = rangeIterator(RestrictionType.NONE); while (thisIter.hasNext()) {
Iterator<VerseRange> it = ((RangedPassage) key).rangeIterator(RestrictionType.NONE); while (it.hasNext()) {
Iterator<VerseRange> it = ((RangedPassage) key).rangeIterator(RestrictionType.NONE); while (it.hasNext()) {