@Override protected final XMLEvent internalNextEvent() throws XMLStreamException { if (this.additionalEvents != null && !this.additionalEvents.isEmpty()) { return this.additionalEvents.pop(); } final XMLEvent event = this.getParent().nextEvent(); this.additionalEvents = this.getAdditionalEvents(event); return event; }
@Override public final XMLEvent peek() throws XMLStreamException { if (this.additionalEvents != null && !this.additionalEvents.isEmpty()) { return this.additionalEvents.peek(); } final XMLEvent event = this.getParent().peek(); final XMLEvent peekEvent = this.getPeekEvent(event); if (peekEvent != null) { return peekEvent; } return event; }
/** * The Deque with the additional events WILL BE MODIFIED by the calling code. * * @param event The current event * @return Any additional events that should be injected before the current event. If null the * current event is returned */ protected Deque<XMLEvent> getAdditionalEvents(XMLEvent event) { final XMLEvent additionalEvent = this.getAdditionalEvent(event); if (additionalEvent == null) { return null; } final Deque<XMLEvent> additionalEvents = new LinkedList<XMLEvent>(); additionalEvents.push(additionalEvent); return additionalEvents; }
/** * The Deque with the additional events WILL BE MODIFIED by the calling code. * * @param event The current event * @return Any additional events that should be injected before the current event. If null the * current event is returned */ protected Deque<XMLEvent> getAdditionalEvents(XMLEvent event) { final XMLEvent additionalEvent = this.getAdditionalEvent(event); if (additionalEvent == null) { return null; } final Deque<XMLEvent> additionalEvents = new LinkedList<XMLEvent>(); additionalEvents.push(additionalEvent); return additionalEvents; }
@Override public final XMLEvent peek() throws XMLStreamException { if (this.additionalEvents != null && !this.additionalEvents.isEmpty()) { return this.additionalEvents.peek(); } final XMLEvent event = this.getParent().peek(); final XMLEvent peekEvent = this.getPeekEvent(event); if (peekEvent != null) { return peekEvent; } return event; }
@Override protected final XMLEvent internalNextEvent() throws XMLStreamException { if (this.additionalEvents != null && !this.additionalEvents.isEmpty()) { return this.additionalEvents.pop(); } final XMLEvent event = this.getParent().nextEvent(); this.additionalEvents = this.getAdditionalEvents(event); return event; }