@Override public Passage createEmptyPassage(Versification v11n) { return new DistinctPassage(v11n); }
@Override public Passage createPassage(Versification v11n, String passage, Key basis) throws NoSuchVerseException { if (passage == null || passage.length() == 0) { return createEmptyPassage(v11n); } return new DistinctPassage(v11n, passage, basis); }
@Override public void optimizeReads() { raiseEventSuppresion(); // We have to create the cached versions of these separately // so that the calculations made by addAll(this) can // safely call methods like countVerses() without any // danger of them being optimized before the optimizations // are ready for use. DistinctPassage dtemp = new DistinctPassage(getVersification()); dtemp.raiseEventSuppresion(); dtemp.addAll(this); dtemp.lowerEventSuppressionAndTest(); RangedPassage rtemp = new RangedPassage(getVersification()); rtemp.raiseEventSuppresion(); rtemp.addAll(this); rtemp.lowerEventSuppressionAndTest(); distinct = dtemp; ranged = rtemp; // This is just an optimization so we dont need to fire any events lowerEventSuppressionAndTest(); }