com.fasterxml.aalto.async
Class AsyncStreamReaderImpl

java.lang.Object
  extended by com.fasterxml.aalto.stax.StreamReaderImpl
      extended by com.fasterxml.aalto.async.AsyncStreamReaderImpl
All Implemented Interfaces:
AsyncInputFeeder, AsyncXMLStreamReader, XMLStreamConstants, XMLStreamReader, org.codehaus.stax2.AttributeInfo, org.codehaus.stax2.DTDInfo, org.codehaus.stax2.LocationInfo, org.codehaus.stax2.typed.TypedXMLStreamReader, org.codehaus.stax2.validation.Validatable, org.codehaus.stax2.XMLStreamReader2

public class AsyncStreamReaderImpl
extends StreamReaderImpl
implements AsyncXMLStreamReader, AsyncInputFeeder

Implementation of AsyncXMLStreamReader.


Field Summary
protected  AsyncUtfScanner _asyncScanner
           
 
Fields inherited from class com.fasterxml.aalto.stax.StreamReaderImpl
_attrCount, _base64Decoder, _cfgCoalesceText, _cfgReportTextAsChars, _currName, _currToken, _decoderFactory, _dtdRootName, _parseState, _scanner
 
Fields inherited from interface com.fasterxml.aalto.AsyncXMLStreamReader
EVENT_INCOMPLETE
 
Fields inherited from interface org.codehaus.stax2.XMLStreamReader2
FEATURE_DTD_OVERRIDE
 
Fields inherited from interface javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
 
Constructor Summary
AsyncStreamReaderImpl(AsyncUtfScanner scanner)
           
 
Method Summary
 void endOfInput()
          Method that should be called after last chunk of data to parse has been fed (with AsyncInputFeeder.feedInput(byte[], int, int)); can be called regardless of what AsyncInputFeeder.needMoreInput() returns.
 void feedInput(byte[] data, int offset, int len)
          Method that can be called to feed more data, if (and only if) AsyncInputFeeder.needMoreInput() returns true.
 AsyncInputFeeder getInputFeeder()
          Method used to access AsyncInputFeeder which is used to provide XML content to parse in non-blocking manner (see AsyncInputFeeder for more details).
 boolean needMoreInput()
          Method called to check whether it is ok to feed more data: parser returns true if it has no more content to parse (and it is ok to feed more); otherwise false (and no data should yet be fed).
 
Methods inherited from class com.fasterxml.aalto.stax.StreamReaderImpl
_base64Decoder, _closeScanner, _constructUnexpectedInTyped, _decoderFactory, close, closeCompletely, construct, findAttributeIndex, getAttributeAs, getAttributeAsArray, getAttributeAsBinary, getAttributeAsBinary, getAttributeAsBoolean, getAttributeAsDecimal, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsInteger, getAttributeAsLong, getAttributeAsLongArray, getAttributeAsQName, getAttributeCount, getAttributeIndex, getAttributeInfo, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getCurrentLocation, getDepth, getDTDInfo, getDTDInternalSubset, getDTDPublicId, getDTDRootName, getDTDSystemId, getElementAs, getElementAsBinary, getElementAsBinary, getElementAsBoolean, getElementAsDecimal, getElementAsDouble, getElementAsFloat, getElementAsInt, getElementAsInteger, getElementAsLong, getElementAsQName, getElementText, getEncoding, getEndingByteOffset, getEndingCharOffset, getEndLocation, getEventType, getFeature, getIdAttributeIndex, getLastCharLocation, getLocalName, getLocation, getLocationInfo, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getNonTransientNamespaceContext, getNotationAttributeIndex, getPIData, getPITarget, getPrefix, getPrefixedName, getProcessedDTD, getProcessedDTDSchema, getProperty, getScanner, getStartingByteOffset, getStartingCharOffset, getStartLocation, getText, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, handlePrologEoi, handleTreeEoi, hasName, hasNext, hasText, isAttributeSpecified, isCharacters, isEmptyElement, isEndElement, isPropertySupported, isStandalone, isStartElement, isWhiteSpace, next, nextTag, readElementAsArray, readElementAsBinary, readElementAsBinary, readElementAsDoubleArray, readElementAsFloatArray, readElementAsIntArray, readElementAsLongArray, reportInvalidAttrIndex, require, setFeature, setProperty, setValidationProblemHandler, skipElement, standaloneSet, stopValidatingAgainst, stopValidatingAgainst, throwFromIOE, throwUnexpectedEOI, throwWfe, toString, validateAgainst, verifyQName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.codehaus.stax2.XMLStreamReader2
closeCompletely, getAttributeInfo, getDepth, getDTDInfo, getFeature, getLocationInfo, getNonTransientNamespaceContext, getPrefixedName, getText, isEmptyElement, isPropertySupported, setFeature, setProperty, skipElement
 
Methods inherited from interface org.codehaus.stax2.typed.TypedXMLStreamReader
getAttributeAs, getAttributeAsArray, getAttributeAsBinary, getAttributeAsBinary, getAttributeAsBoolean, getAttributeAsDecimal, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsInteger, getAttributeAsLong, getAttributeAsLongArray, getAttributeAsQName, getAttributeIndex, getElementAs, getElementAsBinary, getElementAsBinary, getElementAsBoolean, getElementAsDecimal, getElementAsDouble, getElementAsFloat, getElementAsInt, getElementAsInteger, getElementAsLong, getElementAsQName, readElementAsArray, readElementAsBinary, readElementAsBinary, readElementAsDoubleArray, readElementAsFloatArray, readElementAsIntArray, readElementAsLongArray
 
Methods inherited from interface javax.xml.stream.XMLStreamReader
close, getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getElementText, getEncoding, getEventType, getLocalName, getLocation, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getPIData, getPITarget, getPrefix, getProperty, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, hasName, hasNext, hasText, isAttributeSpecified, isCharacters, isEndElement, isStandalone, isStartElement, isWhiteSpace, next, nextTag, require, standaloneSet
 
Methods inherited from interface org.codehaus.stax2.validation.Validatable
setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, validateAgainst
 

Field Detail

_asyncScanner

protected final AsyncUtfScanner _asyncScanner
Constructor Detail

AsyncStreamReaderImpl

public AsyncStreamReaderImpl(AsyncUtfScanner scanner)
Method Detail

getInputFeeder

public AsyncInputFeeder getInputFeeder()
Description copied from interface: AsyncXMLStreamReader
Method used to access AsyncInputFeeder which is used to provide XML content to parse in non-blocking manner (see AsyncInputFeeder for more details).

Specified by:
getInputFeeder in interface AsyncXMLStreamReader
Returns:
Input feeder to use for "pushing" content to parse.

needMoreInput

public boolean needMoreInput()
Description copied from interface: AsyncInputFeeder
Method called to check whether it is ok to feed more data: parser returns true if it has no more content to parse (and it is ok to feed more); otherwise false (and no data should yet be fed).

Specified by:
needMoreInput in interface AsyncInputFeeder

endOfInput

public void endOfInput()
Description copied from interface: AsyncInputFeeder
Method that should be called after last chunk of data to parse has been fed (with AsyncInputFeeder.feedInput(byte[], int, int)); can be called regardless of what AsyncInputFeeder.needMoreInput() returns. After calling this method, no more data can be fed; and parser assumes no more data will be available.

Specified by:
endOfInput in interface AsyncInputFeeder

feedInput

public void feedInput(byte[] data,
                      int offset,
                      int len)
               throws XMLStreamException
Description copied from interface: AsyncInputFeeder
Method that can be called to feed more data, if (and only if) AsyncInputFeeder.needMoreInput() returns true.

Specified by:
feedInput in interface AsyncInputFeeder
Parameters:
data - Byte array that containts data to feed: caller must ensure data remains stable until it is fully processed (which is true when AsyncInputFeeder.needMoreInput() returns true)
offset - Offset within array where input data to process starts
len - Length of input data within array to process.
Throws:
XMLStreamException - if the state is such that this method should not be called (has not yet consumed existing input data, or has been marked as closed)


Copyright © 2012 Fasterxml.com. All Rights Reserved.