org.apache.axiom.util.stax.xop
Class XOPEncodingStreamReader
java.lang.Object
org.apache.axiom.util.stax.xop.XOPEncodingStreamWrapper
org.apache.axiom.util.stax.xop.XOPEncodingStreamReader
- All Implemented Interfaces:
- XMLStreamConstants, XMLStreamReader, MimePartProvider
public class XOPEncodingStreamReader
- extends XOPEncodingStreamWrapper
- implements XMLStreamReader
XMLStreamReader wrapper that encodes XOP. It assumes that the underlying reader
implements the extension defined by DataHandlerReader so that it can identify the
information items to optimize (by looking for
XMLStreamConstants.CHARACTERS events for which
DataHandlerReader.isBinary() returns true). The DataHandler
objects for the parts referenced by xop:Include element information items produced by
an instance of this class can be retrieved using the XOPEncodingStreamWrapper.getDataHandler(String) method.
Note that the primary purpose of this class is not to serialize an XML infoset to an XOP package
(this is better done using XOPEncodingStreamWriter), but rather to optimize interaction
(by exchanging DataHandler objects instead of base64 encoded representations) with
databinding frameworks that understand XOP, but that are not aware of the
DataHandlerReader extension.
This class defers loading of DataHandler objects until XOPEncodingStreamWrapper.getDataHandler(String) is
called, except if this is not supported by the underlying stream.
| 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 |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XOPEncodingStreamReader
public XOPEncodingStreamReader(XMLStreamReader parent,
ContentIDGenerator contentIDGenerator,
OptimizationPolicy optimizationPolicy)
- Constructor.
- Parameters:
parent - The XML stream to encode. The reader must implement the extension defined by
DataHandlerReader.contentIDGenerator - used to generate content IDs for the binary content exposed as
xop:Include element information itemsoptimizationPolicy - the policy to apply to decide which binary content to optimize
- Throws:
IllegalArgumentException - if the provided XMLStreamReader doesn't implement the extension defined
by DataHandlerReader
next
public int next()
throws XMLStreamException
- Specified by:
next in interface XMLStreamReader
- Throws:
XMLStreamException
hasNext
public boolean hasNext()
throws XMLStreamException
- Specified by:
hasNext in interface XMLStreamReader
- Throws:
XMLStreamException
nextTag
public int nextTag()
throws XMLStreamException
- Specified by:
nextTag in interface XMLStreamReader
- Throws:
XMLStreamException
require
public void require(int type,
String namespaceURI,
String localName)
throws XMLStreamException
- Specified by:
require in interface XMLStreamReader
- Throws:
XMLStreamException
getLocation
public Location getLocation()
- Specified by:
getLocation in interface XMLStreamReader
close
public void close()
throws XMLStreamException
- Specified by:
close in interface XMLStreamReader
- Throws:
XMLStreamException
getProperty
public Object getProperty(String name)
throws IllegalArgumentException
- Specified by:
getProperty in interface XMLStreamReader
- Throws:
IllegalArgumentException
getEncoding
public String getEncoding()
- Specified by:
getEncoding in interface XMLStreamReader
getCharacterEncodingScheme
public String getCharacterEncodingScheme()
- Specified by:
getCharacterEncodingScheme in interface XMLStreamReader
getVersion
public String getVersion()
- Specified by:
getVersion in interface XMLStreamReader
isStandalone
public boolean isStandalone()
- Specified by:
isStandalone in interface XMLStreamReader
standaloneSet
public boolean standaloneSet()
- Specified by:
standaloneSet in interface XMLStreamReader
getPIData
public String getPIData()
- Specified by:
getPIData in interface XMLStreamReader
getPITarget
public String getPITarget()
- Specified by:
getPITarget in interface XMLStreamReader
getAttributeCount
public int getAttributeCount()
- Specified by:
getAttributeCount in interface XMLStreamReader
getAttributeLocalName
public String getAttributeLocalName(int index)
- Specified by:
getAttributeLocalName in interface XMLStreamReader
getAttributeName
public QName getAttributeName(int index)
- Specified by:
getAttributeName in interface XMLStreamReader
getAttributeNamespace
public String getAttributeNamespace(int index)
- Specified by:
getAttributeNamespace in interface XMLStreamReader
getAttributePrefix
public String getAttributePrefix(int index)
- Specified by:
getAttributePrefix in interface XMLStreamReader
getAttributeType
public String getAttributeType(int index)
- Specified by:
getAttributeType in interface XMLStreamReader
getAttributeValue
public String getAttributeValue(int index)
- Specified by:
getAttributeValue in interface XMLStreamReader
isAttributeSpecified
public boolean isAttributeSpecified(int index)
- Specified by:
isAttributeSpecified in interface XMLStreamReader
getAttributeValue
public String getAttributeValue(String namespaceURI,
String localName)
- Specified by:
getAttributeValue in interface XMLStreamReader
getElementText
public String getElementText()
throws XMLStreamException
- Specified by:
getElementText in interface XMLStreamReader
- Throws:
XMLStreamException
getEventType
public int getEventType()
- Specified by:
getEventType in interface XMLStreamReader
getNamespaceURI
public String getNamespaceURI()
- Specified by:
getNamespaceURI in interface XMLStreamReader
getLocalName
public String getLocalName()
- Specified by:
getLocalName in interface XMLStreamReader
getPrefix
public String getPrefix()
- Specified by:
getPrefix in interface XMLStreamReader
getName
public QName getName()
- Specified by:
getName in interface XMLStreamReader
getNamespaceContext
public NamespaceContext getNamespaceContext()
- Specified by:
getNamespaceContext in interface XMLStreamReader
getNamespaceURI
public String getNamespaceURI(String prefix)
- Specified by:
getNamespaceURI in interface XMLStreamReader
getNamespaceCount
public int getNamespaceCount()
- Specified by:
getNamespaceCount in interface XMLStreamReader
getNamespacePrefix
public String getNamespacePrefix(int index)
- Specified by:
getNamespacePrefix in interface XMLStreamReader
getNamespaceURI
public String getNamespaceURI(int index)
- Specified by:
getNamespaceURI in interface XMLStreamReader
getText
public String getText()
- Specified by:
getText in interface XMLStreamReader
getTextStart
public int getTextStart()
- Specified by:
getTextStart in interface XMLStreamReader
getTextLength
public int getTextLength()
- Specified by:
getTextLength in interface XMLStreamReader
getTextCharacters
public char[] getTextCharacters()
- Specified by:
getTextCharacters in interface XMLStreamReader
getTextCharacters
public int getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int length)
throws XMLStreamException
- Specified by:
getTextCharacters in interface XMLStreamReader
- Throws:
XMLStreamException
hasName
public boolean hasName()
- Specified by:
hasName in interface XMLStreamReader
hasText
public boolean hasText()
- Specified by:
hasText in interface XMLStreamReader
isCharacters
public boolean isCharacters()
- Specified by:
isCharacters in interface XMLStreamReader
isWhiteSpace
public boolean isWhiteSpace()
- Specified by:
isWhiteSpace in interface XMLStreamReader
isStartElement
public boolean isStartElement()
- Specified by:
isStartElement in interface XMLStreamReader
isEndElement
public boolean isEndElement()
- Specified by:
isEndElement in interface XMLStreamReader
Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.