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:
- javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamReader, MimePartProvider
public class XOPEncodingStreamReader
- extends XOPEncodingStreamWrapper
- implements javax.xml.stream.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(javax.xml.stream.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:
java.lang.IllegalArgumentException - if the provided XMLStreamReader doesn't implement the extension defined
by DataHandlerReader
next
public int next()
throws javax.xml.stream.XMLStreamException
- Specified by:
next in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
hasNext
public boolean hasNext()
throws javax.xml.stream.XMLStreamException
- Specified by:
hasNext in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
nextTag
public int nextTag()
throws javax.xml.stream.XMLStreamException
- Specified by:
nextTag in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
require
public void require(int type,
java.lang.String namespaceURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
- Specified by:
require in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
getLocation
public javax.xml.stream.Location getLocation()
- Specified by:
getLocation in interface javax.xml.stream.XMLStreamReader
close
public void close()
throws javax.xml.stream.XMLStreamException
- Specified by:
close in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
getProperty
public java.lang.Object getProperty(java.lang.String name)
throws java.lang.IllegalArgumentException
- Specified by:
getProperty in interface javax.xml.stream.XMLStreamReader
- Throws:
java.lang.IllegalArgumentException
getEncoding
public java.lang.String getEncoding()
- Specified by:
getEncoding in interface javax.xml.stream.XMLStreamReader
getCharacterEncodingScheme
public java.lang.String getCharacterEncodingScheme()
- Specified by:
getCharacterEncodingScheme in interface javax.xml.stream.XMLStreamReader
getVersion
public java.lang.String getVersion()
- Specified by:
getVersion in interface javax.xml.stream.XMLStreamReader
isStandalone
public boolean isStandalone()
- Specified by:
isStandalone in interface javax.xml.stream.XMLStreamReader
standaloneSet
public boolean standaloneSet()
- Specified by:
standaloneSet in interface javax.xml.stream.XMLStreamReader
getPIData
public java.lang.String getPIData()
- Specified by:
getPIData in interface javax.xml.stream.XMLStreamReader
getPITarget
public java.lang.String getPITarget()
- Specified by:
getPITarget in interface javax.xml.stream.XMLStreamReader
getAttributeCount
public int getAttributeCount()
- Specified by:
getAttributeCount in interface javax.xml.stream.XMLStreamReader
getAttributeLocalName
public java.lang.String getAttributeLocalName(int index)
- Specified by:
getAttributeLocalName in interface javax.xml.stream.XMLStreamReader
getAttributeName
public javax.xml.namespace.QName getAttributeName(int index)
- Specified by:
getAttributeName in interface javax.xml.stream.XMLStreamReader
getAttributeNamespace
public java.lang.String getAttributeNamespace(int index)
- Specified by:
getAttributeNamespace in interface javax.xml.stream.XMLStreamReader
getAttributePrefix
public java.lang.String getAttributePrefix(int index)
- Specified by:
getAttributePrefix in interface javax.xml.stream.XMLStreamReader
getAttributeType
public java.lang.String getAttributeType(int index)
- Specified by:
getAttributeType in interface javax.xml.stream.XMLStreamReader
getAttributeValue
public java.lang.String getAttributeValue(int index)
- Specified by:
getAttributeValue in interface javax.xml.stream.XMLStreamReader
isAttributeSpecified
public boolean isAttributeSpecified(int index)
- Specified by:
isAttributeSpecified in interface javax.xml.stream.XMLStreamReader
getAttributeValue
public java.lang.String getAttributeValue(java.lang.String namespaceURI,
java.lang.String localName)
- Specified by:
getAttributeValue in interface javax.xml.stream.XMLStreamReader
getElementText
public java.lang.String getElementText()
throws javax.xml.stream.XMLStreamException
- Specified by:
getElementText in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
getEventType
public int getEventType()
- Specified by:
getEventType in interface javax.xml.stream.XMLStreamReader
getNamespaceURI
public java.lang.String getNamespaceURI()
- Specified by:
getNamespaceURI in interface javax.xml.stream.XMLStreamReader
getLocalName
public java.lang.String getLocalName()
- Specified by:
getLocalName in interface javax.xml.stream.XMLStreamReader
getPrefix
public java.lang.String getPrefix()
- Specified by:
getPrefix in interface javax.xml.stream.XMLStreamReader
getName
public javax.xml.namespace.QName getName()
- Specified by:
getName in interface javax.xml.stream.XMLStreamReader
getNamespaceContext
public javax.xml.namespace.NamespaceContext getNamespaceContext()
- Specified by:
getNamespaceContext in interface javax.xml.stream.XMLStreamReader
getNamespaceURI
public java.lang.String getNamespaceURI(java.lang.String prefix)
- Specified by:
getNamespaceURI in interface javax.xml.stream.XMLStreamReader
getNamespaceCount
public int getNamespaceCount()
- Specified by:
getNamespaceCount in interface javax.xml.stream.XMLStreamReader
getNamespacePrefix
public java.lang.String getNamespacePrefix(int index)
- Specified by:
getNamespacePrefix in interface javax.xml.stream.XMLStreamReader
getNamespaceURI
public java.lang.String getNamespaceURI(int index)
- Specified by:
getNamespaceURI in interface javax.xml.stream.XMLStreamReader
getText
public java.lang.String getText()
- Specified by:
getText in interface javax.xml.stream.XMLStreamReader
getTextStart
public int getTextStart()
- Specified by:
getTextStart in interface javax.xml.stream.XMLStreamReader
getTextLength
public int getTextLength()
- Specified by:
getTextLength in interface javax.xml.stream.XMLStreamReader
getTextCharacters
public char[] getTextCharacters()
- Specified by:
getTextCharacters in interface javax.xml.stream.XMLStreamReader
getTextCharacters
public int getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int length)
throws javax.xml.stream.XMLStreamException
- Specified by:
getTextCharacters in interface javax.xml.stream.XMLStreamReader
- Throws:
javax.xml.stream.XMLStreamException
hasName
public boolean hasName()
- Specified by:
hasName in interface javax.xml.stream.XMLStreamReader
hasText
public boolean hasText()
- Specified by:
hasText in interface javax.xml.stream.XMLStreamReader
isCharacters
public boolean isCharacters()
- Specified by:
isCharacters in interface javax.xml.stream.XMLStreamReader
isWhiteSpace
public boolean isWhiteSpace()
- Specified by:
isWhiteSpace in interface javax.xml.stream.XMLStreamReader
isStartElement
public boolean isStartElement()
- Specified by:
isStartElement in interface javax.xml.stream.XMLStreamReader
isEndElement
public boolean isEndElement()
- Specified by:
isEndElement in interface javax.xml.stream.XMLStreamReader
Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.