Iterator<Key> it = new OrderedVerseIterator(getVersification(), board); Key current = null; int count = 0;
/** * A Human readable version of the PassageTally. Uses short books names, and * the shortest possible rendering eg "Mat 3:1-4" * * @param cnt * The number of matches to return, 0 gives all matches * @return a String containing a description of the verses */ public String getNameAndTally(int cnt) { int maxCount = cnt; StringBuilder retcode = new StringBuilder(); if (maxCount == 0) { maxCount = Integer.MAX_VALUE; } OrderedVerseIterator it = new OrderedVerseIterator(getVersification(), board); int count = 0; while (it.hasNext() && count < maxCount) { Key verse = it.next(); retcode.append(verse.getName()); retcode.append(" ("); retcode.append(100 * it.lastRank() / max); retcode.append("%)"); count++; if (it.hasNext() && count < maxCount) { retcode.append(AbstractPassage.REF_PREF_DELIM); } } return retcode.toString(); }
/** * 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); }