@Override public void endElement(final EndElementEvent event) { if (this.stack.isEmpty()) { throw new IllegalStateException("Got closing event " + event + " but stack is empty"); } final TreeElement topElement = this.stack.peek(); if (!topElement.getElement().getName().equals(event.getName())) { throw new IllegalStateException("Top stack element is " + topElement.getElement() + " but got end event for " + event); } final TreeElement closedElement = this.stack.pop(); this.getDelegate().endElement(closedElement); }
@Override public void endElement(final EndElementEvent event) { if (this.stack.isEmpty()) { throw new IllegalStateException("Got closing event " + event + " but stack is empty"); } final TreeElement topElement = this.stack.peek(); if (!topElement.getElement().getName().equals(event.getName())) { throw new IllegalStateException("Top stack element is " + topElement.getElement() + " but got end event for " + event); } final TreeElement closedElement = this.stack.pop(); this.getDelegate().endElement(closedElement); }
@Override public void startElement(final TreeElement treeElement) { LOG.finest(() -> "Start element: " + treeElement); final Consumer<TreeElement> consumer = this.startElementListeners.getOrDefault( treeElement.getElement().getName().getLocalPart(), this.defaultStartElementListener); if (consumer == null) { LOG.warning(() -> "No consumer for event " + treeElement); return; } try { consumer.accept(treeElement); } catch (final Exception e) { throw new ImporterException("Error handling " + treeElement + " with consumer " + consumer + ": " + e.getMessage(), e); } }
@Override public void startElement(final TreeElement treeElement) { LOG.finest(() -> "Start element: " + treeElement); final Consumer<TreeElement> consumer = this.startElementListeners.getOrDefault( treeElement.getElement().getName().getLocalPart(), this.defaultStartElementListener); if (consumer == null) { LOG.warning(() -> "No consumer for event " + treeElement); return; } try { consumer.accept(treeElement); } catch (final Exception e) { throw new ImporterException("Error handling " + treeElement + " with consumer " + consumer + ": " + e.getMessage(), e); } }