@Override public Iterator<VerseRange> rangeIterator(RestrictionType restrict) { if (order == Order.BIBLICAL) { return new VerseRangeIterator(getVersification(), iterator(), restrict); } return new OrderedVerseRangeIterator(getVersification(), iterator(), board); }
/** * Iterate through the verse elements in the current sort order * * @return A verse Iterator */ public Iterator<Key> iterator() { if (order == Order.BIBLICAL) { return new VerseIterator(); } return new OrderedVerseIterator(getVersification(), board); }
public void retainAll(Key key) { Key shared = new DefaultKeyList(); shared.addAll(key); retain(this, shared); }
@Override public Verse createStartVerse(Versification v11n, VerseRange verseRangeBasis, String[] parts) throws NoSuchVerseException { if (verseRangeBasis == null) { // TRANSLATOR: The user supplied a verse reference but did not give the book or chapter of the Bible. throw new NoSuchVerseException(JSMsg.gettext("Book and chapter are missing")); } BibleBook book = verseRangeBasis.getEnd().getBook(); int chapter = verseRangeBasis.getEnd().getChapter(); int verse = getVerse(v11n, book, chapter, parts[0]); return new Verse(v11n, book, chapter, verse, getSubIdentifier(parts)); }
@Override public Verse createStartVerse(Versification v11n, VerseRange verseRangeBasis, String[] parts) throws NoSuchVerseException { if (verseRangeBasis == null) { // TRANSLATOR: The user supplied a verse reference but did not give the book of the Bible. throw new NoSuchVerseException(JSMsg.gettext("Book is missing")); } BibleBook book = verseRangeBasis.getEnd().getBook(); int chapter = getChapter(v11n, book, parts[0]); int verse = getVerse(v11n, book, chapter, parts[1]); return new Verse(v11n, book, chapter, verse, getSubIdentifier(parts)); }
@Override public Verse createStartVerse(Versification v11n, VerseRange verseRangeBasis, String[] parts) throws NoSuchVerseException { if (verseRangeBasis == null) { // TRANSLATOR: The user supplied a verse reference but did not give the book of the Bible. throw new NoSuchVerseException(JSMsg.gettext("Book is missing")); } BibleBook book = verseRangeBasis.getEnd().getBook(); int chapter = getChapter(v11n, book, parts[0]); int verse = 0; // chapter > 0 ? 1 : 0; // 0 ? return new Verse(v11n, book, chapter, verse); }
@Override public Verse createEndVerse(Versification v11n, Verse verseBasis, String[] endParts) throws NoSuchVerseException { // Very similar to the start verse but use the verse as a basis // and it gets the end of the chapter BibleBook book = verseBasis.getBook(); int chapter = verseBasis.getChapter(); int verse = getVerse(v11n, book, chapter, endParts[0]); return new Verse(v11n, book, chapter, verse, getSubIdentifier(endParts)); } };
@Override public Verse createEndVerse(Versification v11n, Verse verseBasis, String[] endParts) throws NoSuchVerseException { // Very similar to the start verse but use the verse as a basis BibleBook book = verseBasis.getBook(); int chapter = getChapter(v11n, book, endParts[0]); int verse = getVerse(v11n, book, chapter, endParts[1]); return new Verse(v11n, book, chapter, verse, getSubIdentifier(endParts)); } },
public VerseRange getWhole() { if (isWhole()) { return this; } return new VerseRange(v11n, start.getWhole(), end.getWhole()); }
@Override public Iterator<VerseRange> rangeIterator(RestrictionType restrict) { if (ranged != null) { return ranged.rangeIterator(restrict); } return super.rangeIterator(restrict); }
@Override public int countVerses() { if (distinct != null) { return distinct.countVerses(); } return super.countVerses(); }
@Override public Verse getVerseAt(int offset) throws ArrayIndexOutOfBoundsException { if (distinct != null) { return distinct.getVerseAt(offset); } return super.getVerseAt(offset); }
@Override public VerseRange getRangeAt(int offset, RestrictionType restrict) throws ArrayIndexOutOfBoundsException { if (ranged != null) { return ranged.getRangeAt(offset, restrict); } return super.getRangeAt(offset, restrict); }
@Override public int booksInPassage() { if (distinct != null) { return distinct.booksInPassage(); } return super.booksInPassage(); }
/** * Enumerate the subranges in this range * * @param restrict * @return a range iterator */ public Iterator<VerseRange> rangeIterator(RestrictionType restrict) { return new AbstractPassage.VerseRangeIterator(v11n, iterator(), restrict); }
@Override public int countRanges(RestrictionType restrict) { if (ranged != null) { return ranged.countRanges(restrict); } return super.countRanges(restrict); }
@Override public boolean containsAll(Passage that) { if (ranged != null) { return ranged.containsAll(that); } return super.containsAll(that); }
public boolean contains(Key key) { Passage ref = KeyUtil.getPassage(key); return containsAll(ref); }