public int countRanges(RestrictionType restrict) { int count = 0; Iterator<VerseRange> it = rangeIterator(restrict); while (it.hasNext()) { it.next(); count++; } return count; }
public boolean hasRanges(RestrictionType restrict) { int count = 0; Iterator<VerseRange> it = rangeIterator(restrict); while (it.hasNext()) { it.next(); count++; if (count == 2) { return true; } } return false; }
public String getOsisRef() { StringBuilder retcode = new StringBuilder(); Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); boolean hasNext = it.hasNext(); while (hasNext) { Key range = it.next(); retcode.append(range.getOsisRef()); hasNext = it.hasNext(); if (hasNext) { retcode.append(AbstractPassage.REF_OSIS_DELIM); } } return retcode.toString(); }
public String getOsisID() { StringBuilder retcode = new StringBuilder(); Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); boolean hasNext = it.hasNext(); while (hasNext) { Key range = it.next(); retcode.append(range.getOsisID()); hasNext = it.hasNext(); if (hasNext) { retcode.append(AbstractPassage.REF_OSIS_DELIM); } } return retcode.toString(); }
public void writeDescription(Writer out) throws IOException { BufferedWriter bout = new BufferedWriter(out); bout.write(v11n.getName()); bout.newLine(); Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); while (it.hasNext()) { Key range = it.next(); bout.write(range.getName()); bout.newLine(); } bout.flush(); }
public VerseRange getRangeAt(int offset, RestrictionType restrict) throws ArrayIndexOutOfBoundsException { Iterator<VerseRange> it = rangeIterator(restrict); Object retcode = null; for (int i = 0; i <= offset; i++) { if (!it.hasNext()) { throw new ArrayIndexOutOfBoundsException(JSOtherMsg.lookupText("Index out of range (Given {0,number,integer}, Max {1,number,integer}).", Integer.valueOf(offset), Integer.valueOf(countVerses()))); } retcode = it.next(); } return (VerseRange) retcode; }
public String getRootName() { Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); while (it.hasNext()) { VerseRange range = it.next(); return range.getRootName(); } return getName(); }
public String getName() { if (PassageUtil.isPersistentNaming() && originalName != null) { return originalName; } StringBuilder retcode = new StringBuilder(); Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); Verse current = null; while (it.hasNext()) { VerseRange range = it.next(); retcode.append(range.getName(current)); // FIXME: Potential bug. According to iterator contract hasNext and // next must be paired. if (it.hasNext()) { retcode.append(AbstractPassage.REF_PREF_DELIM); } current = range.getStart(); } return retcode.toString(); }
Iterator<VerseRange> it = rangeIterator(RestrictionType.NONE); while (it.hasNext()) { VerseRange range = it.next();
public Passage trimRanges(int count, RestrictionType restrict) { optimizeWrites(); raiseNormalizeProtection(); int i = 0; boolean overflow = false; Passage remainder = this.clone(); Iterator<VerseRange> it = rangeIterator(restrict); while (it.hasNext()) { i++; Key range = it.next(); if (i > count) { remove(range); overflow = true; } else { remainder.remove(range); } } lowerNormalizeProtection(); // The event notification is done by the remove above if (overflow) { return remainder; } return null; }