@Override public Iterator<E> iterator() { final List<E> list = (iterable instanceof List<?>) ? (List<E>) iterable : IteratorUtils.toList(iterable.iterator()); return new ReverseListIterator<>(list); } };
/** * Append a line break. * * @return text run representing this line break ('\n'). */ public XDDFTextRun appendLineBreak() { CTTextLineBreak br = _p.addNewBr(); // by default, line break has the font properties of the last text run for (XDDFTextRun tr : new IteratorIterable<>(new ReverseListIterator<>(_runs))) { CTTextCharacterProperties prevProps = tr.getProperties(); // let's find one that is not undefined if (prevProps != null) { br.setRPr((CTTextCharacterProperties) prevProps.copy()); break; } } XDDFTextRun run = new XDDFTextRun(br, this); _runs.add(run); return run; }
final Iterator<Identifier> identifierIterator = new ReverseListIterator<>(new ArrayList<>(symbols.values())); final Iterator<Identifier> parentIterator = parent == null || parent == stopAtExclusive ? null : parent.liveSymbols(stopAtExclusive);
public static String getFullFrameId(Frame frame) { if (frame instanceof Window) { return frame.getId(); } List<String> frameIds = new ArrayList<>(4); frameIds.add(frame.getId()); while (frame != null && !(frame instanceof Window) && frame != frame.getFrame()) { frame = frame.getFrame(); if (frame != null) { frameIds.add(frame.getId()); } } return StringUtils.join(new ReverseListIterator<>(frameIds), '.'); }
/** * Append a line break. * * @return text run representing this line break ('\n'). */ public XDDFTextRun appendLineBreak() { CTTextLineBreak br = _p.addNewBr(); // by default, line break has the font properties of the last text run for (XDDFTextRun tr : new IteratorIterable<>(new ReverseListIterator<>(_runs))) { CTTextCharacterProperties prevProps = tr.getProperties(); // let's find one that is not undefined if (prevProps != null) { br.setRPr((CTTextCharacterProperties) prevProps.copy()); break; } } XDDFTextRun run = new XDDFTextRun(br, this); _runs.add(run); return run; }