public XMLEventReader createXMLEventReader(XMLStreamReader reader) throws XMLStreamException { return new XMLStreamEventReader(reader); }
public synchronized XMLEvent peek() throws XMLStreamException { if (closed) { throw new XMLStreamException("Stream has been closed"); } if (nextEvent == null) { nextEvent = allocateEvent(); reader.next(); } return nextEvent; }
public Object next() { try { return nextEvent(); } catch (XMLStreamException e) { // TODO throw a more descriptive exception? throw new RuntimeException(e); } }
/** * Extract or create an instance of {@link XMLEventReader} from the provided {@link Source}. * * @param source the source * @return the {@link XMLEventReader} * @throws XMLStreamException when failing to extract xml event reader */ public static XMLEventReader getXMLEventReader(Source source) throws XMLStreamException { XMLEventReader xmlEventReader; if (source instanceof StAXSource) { // StAXSource is not supported by standard XMLInputFactory StAXSource staxSource = (StAXSource) source; if (staxSource.getXMLEventReader() != null) { xmlEventReader = staxSource.getXMLEventReader(); } else { xmlEventReader = new XMLStreamEventReader(staxSource.getXMLStreamReader()); } } else { xmlEventReader = XML_INPUT_FACTORY.createXMLEventReader(source); } return xmlEventReader; }
public synchronized XMLEvent nextTag() throws XMLStreamException { if (closed) { throw new XMLStreamException("Stream has been closed"); } nextEvent = null; reader.nextTag(); return nextEvent(); }
public synchronized XMLEvent nextEvent() throws XMLStreamException { if (closed) { throw new XMLStreamException("Stream has been closed"); } XMLEvent event; if (nextEvent != null) { event = nextEvent; nextEvent = null; } else { event = allocateEvent(); reader.next(); } return event; }