Class SaajStaxWriterEx
- All Implemented Interfaces:
XMLStreamWriter
,MtomStreamWriter
,XMLStreamWriterEx
- Author:
- [email protected]
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
protected static final String
protected static final String
Fields inherited from class com.sun.xml.messaging.saaj.util.stax.SaajStaxWriter
Body, currentElement, deferredElement, Envelope, envURI, Header, soap, xmlns
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionjavax.xml.bind.attachment.AttachmentMarshaller
void
writeAttribute
(String prefix, String ns, String ln, String value) void
writeBinary
(byte[] data, int offset, int length, String contentType) Write the binary data.writeBinary
(String arg0) Writes the binary data.void
writeBinary
(javax.activation.DataHandler data) Writes the binary data.void
void
writePCDATA
(CharSequence arg0) Writes likeXMLStreamWriter.writeCharacters(String)
but hides actual data format.void
writeStartElement
(String prefix, String ln, String ns) Methods inherited from class com.sun.xml.messaging.saaj.util.stax.SaajStaxWriter
close, flush, getEnvelope, getPrefix, getProperty, getSOAPMessage, setDefaultNamespace, setNamespaceContext, setPrefix, writeAttribute, writeAttribute, writeCData, writeCharacters, writeCharacters, writeComment, writeDefaultNamespace, writeDTD, writeEmptyElement, writeEmptyElement, writeEmptyElement, writeEndDocument, writeEntityRef, writeNamespace, writeProcessingInstruction, writeProcessingInstruction, writeStartDocument, writeStartDocument, writeStartDocument, writeStartElement, writeStartElement
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.xml.stream.XMLStreamWriter
close, flush, getPrefix, getProperty, setDefaultNamespace, setNamespaceContext, setPrefix, writeAttribute, writeAttribute, writeCData, writeCharacters, writeCharacters, writeComment, writeDefaultNamespace, writeDTD, writeEmptyElement, writeEmptyElement, writeEmptyElement, writeEndDocument, writeEntityRef, writeNamespace, writeProcessingInstruction, writeProcessingInstruction, writeStartDocument, writeStartDocument, writeStartDocument, writeStartElement, writeStartElement
-
Field Details
-
xopNS
- See Also:
-
Include
- See Also:
-
href
- See Also:
-
-
Constructor Details
-
SaajStaxWriterEx
public SaajStaxWriterEx(javax.xml.soap.SOAPMessage msg, String uri) throws javax.xml.soap.SOAPException - Throws:
javax.xml.soap.SOAPException
-
-
Method Details
-
writeStartElement
- Specified by:
writeStartElement
in interfaceXMLStreamWriter
- Overrides:
writeStartElement
in classSaajStaxWriter
- Throws:
XMLStreamException
-
writeEndElement
- Specified by:
writeEndElement
in interfaceXMLStreamWriter
- Overrides:
writeEndElement
in classSaajStaxWriter
- Throws:
XMLStreamException
-
writeAttribute
public void writeAttribute(String prefix, String ns, String ln, String value) throws XMLStreamException - Specified by:
writeAttribute
in interfaceXMLStreamWriter
- Overrides:
writeAttribute
in classSaajStaxWriter
- Throws:
XMLStreamException
-
getNamespaceContext
Description copied from interface:XMLStreamWriterEx
- Specified by:
getNamespaceContext
in interfaceXMLStreamWriter
- Specified by:
getNamespaceContext
in interfaceXMLStreamWriterEx
- Overrides:
getNamespaceContext
in classSaajStaxWriter
-
writeBinary
Description copied from interface:XMLStreamWriterEx
Writes the binary data.This method works like the
XMLStreamWriterEx.writeBinary(byte[], int, int, String)
method, except that it takes the binary data in the form ofDataHandler
, which contains a MIME type (DataHandler.getContentType()
as well as the payloadDataHandler.getInputStream()
.- Specified by:
writeBinary
in interfaceXMLStreamWriterEx
- Parameters:
data
- always non-null. After this method call, the callee owns the data handler.- Throws:
XMLStreamException
-
writeBinary
Description copied from interface:XMLStreamWriterEx
Writes the binary data.This version of the writeBinary method allows the caller to produce the binary data by writing it to
OutputStream
.It is the caller's responsibility to write and close a stream before it invokes any other methods on
XMLStreamWriter
. TODO: experimental. appreciate feedback- Specified by:
writeBinary
in interfaceXMLStreamWriterEx
- Parameters:
arg0
- See the content-type parameter ofXMLStreamWriterEx.writeBinary(byte[], int, int, String)
. Must not be null.- Returns:
- always return a non-null
OutputStream
. - Throws:
XMLStreamException
-
writeBinary
public void writeBinary(byte[] data, int offset, int length, String contentType) throws XMLStreamException Description copied from interface:XMLStreamWriterEx
Write the binary data.Conceptually (infoset-wise), this produces the base64-encoded binary data on the output. But this allows implementations like FastInfoset or XOP to do the smart thing.
The use of this method has some restriction to support XOP. Namely, this method must be invoked as a sole content of an element.
(data,start,len) triplet identifies the binary data to be written. After the method invocation, the callee owns the buffer.
- Specified by:
writeBinary
in interfaceXMLStreamWriterEx
contentType
- this mandatory parameter identifies the MIME type of the binary data. If the MIME type isn't known by the caller, "application/octet-stream" can be always used to indicate "I don't know." Never null.- Throws:
XMLStreamException
-
writePCDATA
Description copied from interface:XMLStreamWriterEx
Writes likeXMLStreamWriter.writeCharacters(String)
but hides actual data format.- Specified by:
writePCDATA
in interfaceXMLStreamWriterEx
- Parameters:
arg0
- TheCharSequence
that represents the character infoset items to be written.The
CharSequence
is normally aString
, but can be any otherCharSequence
implementation. For binary data, however, use ofBase64Data
is recommended (so that the consumer interested in seeing it as binary data may take advantage of mor efficient data representation.)- Throws:
XMLStreamException
-
getAttachmentMarshaller
public javax.xml.bind.attachment.AttachmentMarshaller getAttachmentMarshaller()- Specified by:
getAttachmentMarshaller
in interfaceMtomStreamWriter
-