package com.fasterxml.aalto;
import org.codehaus.stax2.XMLStreamReader2;
import com.fasterxml.aalto.in.ReaderConfig;
Extension of XMLStreamReader2
used by non-blocking ("async") stream readers. The main difference is addition of a token (AsyncXMLStreamReader<F>.EVENT_INCOMPLETE
) to indicate that there is not yet enough content to parse to tokenize next event; and method to access AsyncInputFeeder
that is used to provide input data in non-blocking manner. Type parameters: - <F> – Type of input feeder used by reader; determines how input can be fed.
/**
* Extension of {@link XMLStreamReader2} used by non-blocking ("async")
* stream readers. The main difference is addition of a token ({@link #EVENT_INCOMPLETE})
* to indicate that there is not yet enough content to parse to tokenize next event;
* and method to access {@link AsyncInputFeeder} that is used to provide input data
* in non-blocking manner.
*
* @param <F> Type of input feeder used by reader; determines how input can be fed.
*/
public interface AsyncXMLStreamReader<F extends AsyncInputFeeder>
extends XMLStreamReader2
{
As per javadocs of XMLStreamConstants
, event codes 0 through 256 (inclusive?) are reserved by the Stax specs, so we'll use the next available code. /**
* As per javadocs of {@link javax.xml.stream.XMLStreamConstants},
* event codes 0 through 256 (inclusive?) are reserved by the Stax
* specs, so we'll use the next available code.
*/
public final static int EVENT_INCOMPLETE = 257;
Method used to access AsyncInputFeeder
which is used to provide XML content to parse in non-blocking manner (see AsyncInputFeeder
for more details). Returns: Input feeder to use for "pushing" content to parse.
/**
* Method used to access {@link AsyncInputFeeder} which is used to
* provide XML content to parse in non-blocking manner (see
* {@link AsyncInputFeeder} for more details).
*
* @return Input feeder to use for "pushing" content to parse.
*/
public F getInputFeeder();
public ReaderConfig getConfig();
}