package com.fasterxml.aalto.async;

import javax.xml.stream.XMLStreamException;

import com.fasterxml.aalto.AsyncInputFeeder;
import com.fasterxml.aalto.AsyncXMLStreamReader;
import com.fasterxml.aalto.stax.StreamReaderImpl;

Implementation of AsyncXMLStreamReader.
/** * Implementation of {@link AsyncXMLStreamReader}. */
public class AsyncStreamReaderImpl<F extends AsyncInputFeeder> extends StreamReaderImpl implements AsyncXMLStreamReader<F> { protected final AsyncByteScanner _asyncScanner; public AsyncStreamReaderImpl(AsyncByteScanner scanner) { super(scanner); _asyncScanner = scanner; _currToken = EVENT_INCOMPLETE; } /* /********************************************************************** /* AsyncXMLStreamReader implementation /********************************************************************** */ @SuppressWarnings("unchecked") @Override public F getInputFeeder() { return (F) _asyncScanner; } /* /********************************************************************** /* Overrides /********************************************************************** */ @Override protected void _reportNonTextEvent(int type) throws XMLStreamException { // for Async parser if (type == EVENT_INCOMPLETE) { throwWfe("Can not use text-aggregating methods with non-blocking parser, as they (may) require blocking"); } super._reportNonTextEvent(type); } }