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(); }