Package org.apache.axiom.util.stax.xop
Class XOPDecodingStreamReader
- java.lang.Object
-
- org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
- org.apache.axiom.util.stax.xop.XOPDecodingStreamReader
-
- All Implemented Interfaces:
XMLStreamConstants
,XMLStreamReader
,org.apache.axiom.ext.stax.datahandler.DataHandlerReader
public class XOPDecodingStreamReader extends org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper implements org.apache.axiom.ext.stax.datahandler.DataHandlerReader
XMLStreamReader
wrapper that decodes XOP. It uses the extension defined byDataHandlerReader
to expose theDataHandler
objects referenced byxop:Include
elements encountered in the underlying stream. If the consumer usesgetText()
,getTextCharacters()
,getTextCharacters(int, char[], int, int)
orgetElementText()
when anxop:Include
element is present in the underlying stream, then the decoder will produce a base64 representation of the data.Note that this class only implements infoset transformation, but doesn't handle MIME processing. A
MimePartProvider
implementation must be provided to the constructor of this class. This object will be used to load MIME parts referenced byxop:Include
elements encountered in the underlying stream.This class supports deferred loading of MIME parts: If the consumer uses
DataHandlerReader.getDataHandlerProvider()
, then theMimePartProvider
will only be invoked whenDataHandlerProvider.getDataHandler()
is called.
-
-
Field Summary
-
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
Constructors Constructor Description XOPDecodingStreamReader(XMLStreamReader parent, MimePartProvider mimePartProvider)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getContentID()
DataHandler
getDataHandler()
org.apache.axiom.ext.stax.datahandler.DataHandlerProvider
getDataHandlerProvider()
String
getElementText()
int
getEventType()
String
getLocalName()
Location
getLocation()
QName
getName()
int
getNamespaceCount()
String
getNamespacePrefix(int index)
String
getNamespaceURI()
String
getNamespaceURI(int index)
String
getNamespaceURI(String prefix)
String
getPrefix()
Object
getProperty(String name)
String
getText()
char[]
getTextCharacters()
int
getTextCharacters(int sourceStart, char[] target, int targetStart, int length)
int
getTextLength()
int
getTextStart()
boolean
hasName()
boolean
hasText()
boolean
isBinary()
boolean
isCharacters()
boolean
isDeferred()
boolean
isEndElement()
boolean
isOptimized()
boolean
isStartElement()
boolean
isWhiteSpace()
int
next()
int
nextTag()
void
require(int type, String namespaceURI, String localName)
-
Methods inherited from class org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
close, getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getEncoding, getNamespaceContext, getParent, getPIData, getPITarget, getVersion, hasNext, isAttributeSpecified, isStandalone, standaloneSet
-
-
-
-
Constructor Detail
-
XOPDecodingStreamReader
public XOPDecodingStreamReader(XMLStreamReader parent, MimePartProvider mimePartProvider)
Constructor.- Parameters:
parent
- the XML stream to decodemimePartProvider
- An implementation of theMimePartProvider
interface that will be used to load theDataHandler
objects for MIME parts referenced byxop:Include
element information items encountered in the underlying stream.
-
-
Method Detail
-
next
public int next() throws XMLStreamException
- Specified by:
next
in interfaceXMLStreamReader
- Overrides:
next
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
- Throws:
XMLStreamException
-
getEventType
public int getEventType()
- Specified by:
getEventType
in interfaceXMLStreamReader
- Overrides:
getEventType
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
nextTag
public int nextTag() throws XMLStreamException
- Specified by:
nextTag
in interfaceXMLStreamReader
- Overrides:
nextTag
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
- Throws:
XMLStreamException
-
getProperty
public Object getProperty(String name) throws IllegalArgumentException
- Specified by:
getProperty
in interfaceXMLStreamReader
- Overrides:
getProperty
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
- Throws:
IllegalArgumentException
-
getElementText
public String getElementText() throws XMLStreamException
- Specified by:
getElementText
in interfaceXMLStreamReader
- Overrides:
getElementText
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
- Throws:
XMLStreamException
-
getPrefix
public String getPrefix()
- Specified by:
getPrefix
in interfaceXMLStreamReader
- Overrides:
getPrefix
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getNamespaceURI
public String getNamespaceURI()
- Specified by:
getNamespaceURI
in interfaceXMLStreamReader
- Overrides:
getNamespaceURI
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getLocalName
public String getLocalName()
- Specified by:
getLocalName
in interfaceXMLStreamReader
- Overrides:
getLocalName
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getName
public QName getName()
- Specified by:
getName
in interfaceXMLStreamReader
- Overrides:
getName
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getLocation
public Location getLocation()
- Specified by:
getLocation
in interfaceXMLStreamReader
- Overrides:
getLocation
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getNamespaceURI
public String getNamespaceURI(String prefix)
- Specified by:
getNamespaceURI
in interfaceXMLStreamReader
- Overrides:
getNamespaceURI
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getNamespaceCount
public int getNamespaceCount()
- Specified by:
getNamespaceCount
in interfaceXMLStreamReader
- Overrides:
getNamespaceCount
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getNamespacePrefix
public String getNamespacePrefix(int index)
- Specified by:
getNamespacePrefix
in interfaceXMLStreamReader
- Overrides:
getNamespacePrefix
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getNamespaceURI
public String getNamespaceURI(int index)
- Specified by:
getNamespaceURI
in interfaceXMLStreamReader
- Overrides:
getNamespaceURI
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getText
public String getText()
- Specified by:
getText
in interfaceXMLStreamReader
- Overrides:
getText
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getTextCharacters
public char[] getTextCharacters()
- Specified by:
getTextCharacters
in interfaceXMLStreamReader
- Overrides:
getTextCharacters
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getTextCharacters
public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
- Specified by:
getTextCharacters
in interfaceXMLStreamReader
- Overrides:
getTextCharacters
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
- Throws:
XMLStreamException
-
getTextLength
public int getTextLength()
- Specified by:
getTextLength
in interfaceXMLStreamReader
- Overrides:
getTextLength
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
getTextStart
public int getTextStart()
- Specified by:
getTextStart
in interfaceXMLStreamReader
- Overrides:
getTextStart
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
hasText
public boolean hasText()
- Specified by:
hasText
in interfaceXMLStreamReader
- Overrides:
hasText
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
isCharacters
public boolean isCharacters()
- Specified by:
isCharacters
in interfaceXMLStreamReader
- Overrides:
isCharacters
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
isStartElement
public boolean isStartElement()
- Specified by:
isStartElement
in interfaceXMLStreamReader
- Overrides:
isStartElement
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
isEndElement
public boolean isEndElement()
- Specified by:
isEndElement
in interfaceXMLStreamReader
- Overrides:
isEndElement
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
hasName
public boolean hasName()
- Specified by:
hasName
in interfaceXMLStreamReader
- Overrides:
hasName
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
isWhiteSpace
public boolean isWhiteSpace()
- Specified by:
isWhiteSpace
in interfaceXMLStreamReader
- Overrides:
isWhiteSpace
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
-
require
public void require(int type, String namespaceURI, String localName) throws XMLStreamException
- Specified by:
require
in interfaceXMLStreamReader
- Overrides:
require
in classorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
- Throws:
XMLStreamException
-
isBinary
public boolean isBinary()
- Specified by:
isBinary
in interfaceorg.apache.axiom.ext.stax.datahandler.DataHandlerReader
-
isOptimized
public boolean isOptimized()
- Specified by:
isOptimized
in interfaceorg.apache.axiom.ext.stax.datahandler.DataHandlerReader
-
isDeferred
public boolean isDeferred()
- Specified by:
isDeferred
in interfaceorg.apache.axiom.ext.stax.datahandler.DataHandlerReader
-
getContentID
public String getContentID()
- Specified by:
getContentID
in interfaceorg.apache.axiom.ext.stax.datahandler.DataHandlerReader
-
getDataHandler
public DataHandler getDataHandler() throws XMLStreamException
- Specified by:
getDataHandler
in interfaceorg.apache.axiom.ext.stax.datahandler.DataHandlerReader
- Throws:
XMLStreamException
-
getDataHandlerProvider
public org.apache.axiom.ext.stax.datahandler.DataHandlerProvider getDataHandlerProvider()
- Specified by:
getDataHandlerProvider
in interfaceorg.apache.axiom.ext.stax.datahandler.DataHandlerReader
-
-