|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper
org.apache.axiom.util.stax.xop.XOPDecodingStreamReader
public class XOPDecodingStreamReader
XMLStreamReader wrapper that decodes XOP. It uses the extension defined by
DataHandlerReader to expose the DataHandler objects referenced by
xop:Include elements encountered in the underlying stream. If the consumer uses
getText(), getTextCharacters(),
getTextCharacters(int, char[], int, int) or getElementText() when an
xop: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 by xop:Include elements encountered
in the underlying stream.
This class supports deferred loading of MIME parts: If the consumer uses
DataHandlerReader.getDataHandlerProvider(), then the MimePartProvider will only
be invoked when DataHandlerProvider.getDataHandler() is called.
| Field Summary |
|---|
| Fields inherited from interface org.apache.axiom.ext.stax.datahandler.DataHandlerReader |
|---|
PROPERTY |
| 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 | |
|---|---|
XOPDecodingStreamReader(javax.xml.stream.XMLStreamReader parent,
MimePartProvider mimePartProvider)
Constructor. |
|
| Method Summary | |
|---|---|
java.lang.String |
getContentID()
Get the content ID of the binary content for the current event, if available. |
javax.activation.DataHandler |
getDataHandler()
Get the DataHandler with the binary content for the current event. |
DataHandlerProvider |
getDataHandlerProvider()
Get a DataHandlerProvider instance for deferred loading of the binary content for the
current event. |
java.lang.String |
getElementText()
|
int |
getEventType()
|
java.lang.String |
getLocalName()
|
javax.xml.stream.Location |
getLocation()
|
javax.xml.namespace.QName |
getName()
|
int |
getNamespaceCount()
|
java.lang.String |
getNamespacePrefix(int index)
|
java.lang.String |
getNamespaceURI()
|
java.lang.String |
getNamespaceURI(int index)
|
java.lang.String |
getNamespaceURI(java.lang.String prefix)
|
java.lang.String |
getPrefix()
|
java.lang.Object |
getProperty(java.lang.String name)
|
java.lang.String |
getText()
|
char[] |
getTextCharacters()
|
int |
getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int length)
|
int |
getTextLength()
|
int |
getTextStart()
|
boolean |
hasName()
|
boolean |
hasText()
|
boolean |
isBinary()
Check whether the current event is a XMLStreamConstants.CHARACTERS
event representing base64 encoded binary content and for which a
DataHandler is available. |
boolean |
isCharacters()
|
boolean |
isDeferred()
Check whether the XMLStreamReader supports deferred loading of the
binary content for the current event. |
boolean |
isEndElement()
|
boolean |
isOptimized()
Check if the binary content is eligible for optimization (e.g. |
boolean |
isStartElement()
|
boolean |
isWhiteSpace()
|
int |
next()
|
int |
nextTag()
|
void |
require(int type,
java.lang.String namespaceURI,
java.lang.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 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public XOPDecodingStreamReader(javax.xml.stream.XMLStreamReader parent,
MimePartProvider mimePartProvider)
parent - the XML stream to decodemimePartProvider - An implementation of the MimePartProvider interface that will be used to
load the DataHandler objects for MIME parts referenced by
xop:Include element information items encountered in the underlying
stream.| Method Detail |
|---|
public int next()
throws javax.xml.stream.XMLStreamException
next in interface javax.xml.stream.XMLStreamReadernext in class XMLStreamReaderWrapperjavax.xml.stream.XMLStreamExceptionpublic int getEventType()
getEventType in interface javax.xml.stream.XMLStreamReadergetEventType in class XMLStreamReaderWrapper
public int nextTag()
throws javax.xml.stream.XMLStreamException
nextTag in interface javax.xml.stream.XMLStreamReadernextTag in class XMLStreamReaderWrapperjavax.xml.stream.XMLStreamException
public java.lang.Object getProperty(java.lang.String name)
throws java.lang.IllegalArgumentException
getProperty in interface javax.xml.stream.XMLStreamReadergetProperty in class XMLStreamReaderWrapperjava.lang.IllegalArgumentException
public java.lang.String getElementText()
throws javax.xml.stream.XMLStreamException
getElementText in interface javax.xml.stream.XMLStreamReadergetElementText in class XMLStreamReaderWrapperjavax.xml.stream.XMLStreamExceptionpublic java.lang.String getPrefix()
getPrefix in interface javax.xml.stream.XMLStreamReadergetPrefix in class XMLStreamReaderWrapperpublic java.lang.String getNamespaceURI()
getNamespaceURI in interface javax.xml.stream.XMLStreamReadergetNamespaceURI in class XMLStreamReaderWrapperpublic java.lang.String getLocalName()
getLocalName in interface javax.xml.stream.XMLStreamReadergetLocalName in class XMLStreamReaderWrapperpublic javax.xml.namespace.QName getName()
getName in interface javax.xml.stream.XMLStreamReadergetName in class XMLStreamReaderWrapperpublic javax.xml.stream.Location getLocation()
getLocation in interface javax.xml.stream.XMLStreamReadergetLocation in class XMLStreamReaderWrapperpublic java.lang.String getNamespaceURI(java.lang.String prefix)
getNamespaceURI in interface javax.xml.stream.XMLStreamReadergetNamespaceURI in class XMLStreamReaderWrapperpublic int getNamespaceCount()
getNamespaceCount in interface javax.xml.stream.XMLStreamReadergetNamespaceCount in class XMLStreamReaderWrapperpublic java.lang.String getNamespacePrefix(int index)
getNamespacePrefix in interface javax.xml.stream.XMLStreamReadergetNamespacePrefix in class XMLStreamReaderWrapperpublic java.lang.String getNamespaceURI(int index)
getNamespaceURI in interface javax.xml.stream.XMLStreamReadergetNamespaceURI in class XMLStreamReaderWrapperpublic java.lang.String getText()
getText in interface javax.xml.stream.XMLStreamReadergetText in class XMLStreamReaderWrapperpublic char[] getTextCharacters()
getTextCharacters in interface javax.xml.stream.XMLStreamReadergetTextCharacters in class XMLStreamReaderWrapper
public int getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int length)
throws javax.xml.stream.XMLStreamException
getTextCharacters in interface javax.xml.stream.XMLStreamReadergetTextCharacters in class XMLStreamReaderWrapperjavax.xml.stream.XMLStreamExceptionpublic int getTextLength()
getTextLength in interface javax.xml.stream.XMLStreamReadergetTextLength in class XMLStreamReaderWrapperpublic int getTextStart()
getTextStart in interface javax.xml.stream.XMLStreamReadergetTextStart in class XMLStreamReaderWrapperpublic boolean hasText()
hasText in interface javax.xml.stream.XMLStreamReaderhasText in class XMLStreamReaderWrapperpublic boolean isCharacters()
isCharacters in interface javax.xml.stream.XMLStreamReaderisCharacters in class XMLStreamReaderWrapperpublic boolean isStartElement()
isStartElement in interface javax.xml.stream.XMLStreamReaderisStartElement in class XMLStreamReaderWrapperpublic boolean isEndElement()
isEndElement in interface javax.xml.stream.XMLStreamReaderisEndElement in class XMLStreamReaderWrapperpublic boolean hasName()
hasName in interface javax.xml.stream.XMLStreamReaderhasName in class XMLStreamReaderWrapperpublic boolean isWhiteSpace()
isWhiteSpace in interface javax.xml.stream.XMLStreamReaderisWhiteSpace in class XMLStreamReaderWrapper
public void require(int type,
java.lang.String namespaceURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
require in interface javax.xml.stream.XMLStreamReaderrequire in class XMLStreamReaderWrapperjavax.xml.stream.XMLStreamExceptionpublic boolean isBinary()
DataHandlerReaderXMLStreamConstants.CHARACTERS
event representing base64 encoded binary content and for which a
DataHandler is available.
isBinary in interface DataHandlerReadertrue if the current event is a
XMLStreamConstants.CHARACTERS event representing base64
encoded binary content and for which a DataHandler is
available; false for all other types of events.public boolean isOptimized()
DataHandlerReaderDataHandlerReader.isBinary() returns true for
the current event. The behavior of this method is undefined if this is not the case.
isOptimized in interface DataHandlerReadertrue if the binary content is eligible for optimization;
false otherwisepublic boolean isDeferred()
DataHandlerReaderXMLStreamReader supports deferred loading of the
binary content for the current event. If this method returns true then a
consumer MAY call DataHandlerReader.getDataHandlerProvider() and retrieve the
DataHandler later using DataHandlerProvider.getDataHandler().
Calling this method is only meaningful if DataHandlerReader.isBinary() returns true for
the current event. The behavior of this method is undefined if this is not the case.
isDeferred in interface DataHandlerReadertrue if deferred loading is supported; false otherwisepublic java.lang.String getContentID()
DataHandlerReaderDataHandlerReader.isBinary() returns true for the
current event.
The implementation SHOULD only return a non null value if the content ID has been used previously in an interaction with another component or system. The implementation SHOULD NOT generate a new content ID solely for the purpose of this method.
If available, the returned value MUST be a raw content ID. In particular:
A consumer MAY use the return value of this method in contexts where it is desirable to preserve the original content ID used by another system or component to identify the binary content. However, the consumer MUST NOT make any assumption about the uniqueness or validity of the content ID (with respect to relevant standards such as RFC822) and SHOULD make provision to sanitize the value if necessary.
getContentID in interface DataHandlerReadernull
if no content ID is known
public javax.activation.DataHandler getDataHandler()
throws javax.xml.stream.XMLStreamException
DataHandlerReaderDataHandler with the binary content for the current event. The behavior of
this method is only defined for events for which DataHandlerReader.isBinary() returns
true. For events of this type the method MUST return a valid
DataHandler, regardless of the return value of DataHandlerReader.isDeferred(). If
DataHandlerReader.isDeferred() returns true, then the consumer may use this method to
force the implementation to load the binary content immediately.
getDataHandler in interface DataHandlerReaderjavax.xml.stream.XMLStreamException - if an error occurs while loading the DataHandlerpublic DataHandlerProvider getDataHandlerProvider()
DataHandlerReaderDataHandlerProvider instance for deferred loading of the binary content for the
current event. The behavior of this method is defined if and only if DataHandlerReader.isDeferred()
returns true for the current event. The returned reference MUST remain valid
after the current event has been consumed. It is up to the implementation to specify the
exact lifecycle of the returned instance, in particular until when the binary content can be
retrieved.
getDataHandlerProvider in interface DataHandlerReaderDataHandlerProvider instance the consumer can use to load the binary
content at a later time
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||