|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.axiom.om.impl.MTOMXMLStreamWriter
public class MTOMXMLStreamWriter
MTOMXMLStreamWriter is an XML + Attachments stream writer. For the moment this assumes that transport takes the decision of whether to optimize or not by looking at whether the MTOM optimize is enabled & also looking at the OM tree whether it has any optimizable content.
| Constructor Summary | |
|---|---|
MTOMXMLStreamWriter(java.io.OutputStream outStream,
OMOutputFormat format)
|
|
MTOMXMLStreamWriter(java.io.OutputStream outStream,
OMOutputFormat format,
boolean preserveAttachments)
Creates a new MTOMXMLStreamWriter with specified encoding. |
|
MTOMXMLStreamWriter(javax.xml.stream.XMLStreamWriter xmlWriter)
|
|
| Method Summary | |
|---|---|
void |
close()
|
void |
flush()
Flush is overridden to trigger the attachment serialization |
java.lang.String |
getCharSetEncoding()
Returns the character set encoding scheme. |
java.lang.String |
getContentType()
|
java.lang.String |
getMimeBoundary()
|
javax.xml.namespace.NamespaceContext |
getNamespaceContext()
|
java.lang.String |
getNextContentId()
|
OMOutputFormat |
getOutputFormat()
Get the output format used by this writer. |
java.io.OutputStream |
getOutputStream()
Get the underlying OutputStream for this writer, if available. |
java.lang.String |
getPrefix(java.lang.String string)
|
java.lang.Object |
getProperty(java.lang.String string)
|
java.lang.String |
getRootContentId()
|
javax.xml.stream.XMLStreamWriter |
getXmlStreamWriter()
|
java.lang.String |
getXmlVersion()
|
boolean |
isIgnoreXMLDeclaration()
|
boolean |
isOptimized()
Deprecated. Serialization code should use XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, org.apache.axiom.ext.stax.datahandler.DataHandlerProvider, String, boolean)
to submit any binary content and let this writer decide whether the content should be
written as base64 encoded character data or using xop:Include.
This makes optimization entirely transparent for the caller and there should be no need
to check if the writer is producing MTOM. |
boolean |
isOptimizedThreshold(OMText node)
Deprecated. Serialization code should use XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandlerProvider, String, boolean)
to submit any binary content and let this writer decide whether the content should be
written as base64 encoded character data or using xop:Include. If this is not
possible, then prepareDataHandler(DataHandler) should be used.
All the aforementioned methods take into account the settings defined in
OMOutputFormat to determine whether the binary data should be optimized or not.
Therefore, there is not need for this method anymore. |
java.lang.String |
prepareDataHandler(javax.activation.DataHandler dataHandler)
Prepare a DataHandler for serialization without using the DataHandlerWriter
API. |
XMLStreamWriterFilter |
removeFilter()
|
void |
setCharSetEncoding(java.lang.String charSetEncoding)
|
void |
setDefaultNamespace(java.lang.String string)
|
void |
setDoOptimize(boolean b)
|
void |
setFilter(XMLStreamWriterFilter filter)
|
void |
setIgnoreXMLDeclaration(boolean ignoreXMLDeclaration)
|
void |
setNamespaceContext(javax.xml.namespace.NamespaceContext namespaceContext)
|
void |
setOutputFormat(OMOutputFormat format)
|
void |
setPrefix(java.lang.String string,
java.lang.String string1)
|
void |
setSoap11(boolean b)
|
void |
setXmlStreamWriter(javax.xml.stream.XMLStreamWriter xmlWriter)
|
void |
setXmlVersion(java.lang.String xmlVersion)
|
void |
writeAttribute(java.lang.String string,
java.lang.String string1)
|
void |
writeAttribute(java.lang.String string,
java.lang.String string1,
java.lang.String string2)
|
void |
writeAttribute(java.lang.String string,
java.lang.String string1,
java.lang.String string2,
java.lang.String string3)
|
void |
writeCData(java.lang.String string)
|
void |
writeCharacters(char[] chars,
int i,
int i1)
|
void |
writeCharacters(java.lang.String string)
|
void |
writeComment(java.lang.String string)
|
void |
writeDefaultNamespace(java.lang.String string)
|
void |
writeDTD(java.lang.String string)
|
void |
writeEmptyElement(java.lang.String string)
|
void |
writeEmptyElement(java.lang.String string,
java.lang.String string1)
|
void |
writeEmptyElement(java.lang.String string,
java.lang.String string1,
java.lang.String string2)
|
void |
writeEndDocument()
|
void |
writeEndElement()
|
void |
writeEntityRef(java.lang.String string)
|
void |
writeNamespace(java.lang.String string,
java.lang.String string1)
|
void |
writeOptimized(OMText node)
Deprecated. Serialization code should use XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandlerProvider, String, boolean)
to submit any binary content and let this writer decide whether the content should be
written as base64 encoded character data or using xop:Include. If this is not
possible, then prepareDataHandler(DataHandler) should be used. |
void |
writeProcessingInstruction(java.lang.String string)
|
void |
writeProcessingInstruction(java.lang.String string,
java.lang.String string1)
|
void |
writeStartDocument()
|
void |
writeStartDocument(java.lang.String string)
|
void |
writeStartDocument(java.lang.String string,
java.lang.String string1)
|
void |
writeStartElement(java.lang.String string)
|
void |
writeStartElement(java.lang.String string,
java.lang.String string1)
|
void |
writeStartElement(java.lang.String string,
java.lang.String string1,
java.lang.String string2)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public MTOMXMLStreamWriter(javax.xml.stream.XMLStreamWriter xmlWriter)
public MTOMXMLStreamWriter(java.io.OutputStream outStream,
OMOutputFormat format)
throws javax.xml.stream.XMLStreamException,
javax.xml.stream.FactoryConfigurationError
javax.xml.stream.XMLStreamException
javax.xml.stream.FactoryConfigurationError
public MTOMXMLStreamWriter(java.io.OutputStream outStream,
OMOutputFormat format,
boolean preserveAttachments)
throws javax.xml.stream.XMLStreamException,
javax.xml.stream.FactoryConfigurationError
outStream - format - preserveAttachments - specifies whether attachments must be preserved or can be consumed (i.e. streamed)
during serialization; if set to false then
DataHandlerExt.readOnce() or an equivalent method may be used to get the
data for an attachment
javax.xml.stream.XMLStreamException
javax.xml.stream.FactoryConfigurationErrorOMOutputFormat.DEFAULT_CHAR_SET_ENCODING| Method Detail |
|---|
public void writeStartElement(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String string,
java.lang.String string1,
java.lang.String string2)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String string,
java.lang.String string1,
java.lang.String string2)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeEndElement()
throws javax.xml.stream.XMLStreamException
writeEndElement in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeEndDocument()
throws javax.xml.stream.XMLStreamException
writeEndDocument in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void close()
throws javax.xml.stream.XMLStreamException
close in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void flush()
throws javax.xml.stream.XMLStreamException
flush in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
writeAttribute in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String string,
java.lang.String string1,
java.lang.String string2,
java.lang.String string3)
throws javax.xml.stream.XMLStreamException
writeAttribute in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String string,
java.lang.String string1,
java.lang.String string2)
throws javax.xml.stream.XMLStreamException
writeAttribute in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeNamespace(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
writeNamespace in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeDefaultNamespace(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeComment(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeComment in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeProcessingInstruction(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeProcessingInstruction(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeCData(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeCData in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeDTD(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeDTD in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeEntityRef(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeEntityRef in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeStartDocument()
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeStartDocument(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeStartDocument(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeCharacters(java.lang.String string)
throws javax.xml.stream.XMLStreamException
writeCharacters in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void writeCharacters(char[] chars,
int i,
int i1)
throws javax.xml.stream.XMLStreamException
writeCharacters in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public java.lang.String getPrefix(java.lang.String string)
throws javax.xml.stream.XMLStreamException
getPrefix in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void setPrefix(java.lang.String string,
java.lang.String string1)
throws javax.xml.stream.XMLStreamException
setPrefix in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void setDefaultNamespace(java.lang.String string)
throws javax.xml.stream.XMLStreamException
setDefaultNamespace in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamException
public void setNamespaceContext(javax.xml.namespace.NamespaceContext namespaceContext)
throws javax.xml.stream.XMLStreamException
setNamespaceContext in interface javax.xml.stream.XMLStreamWriterjavax.xml.stream.XMLStreamExceptionpublic javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext in interface javax.xml.stream.XMLStreamWriter
public java.lang.Object getProperty(java.lang.String string)
throws java.lang.IllegalArgumentException
getProperty in interface javax.xml.stream.XMLStreamWriterjava.lang.IllegalArgumentExceptionpublic boolean isOptimized()
XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, org.apache.axiom.ext.stax.datahandler.DataHandlerProvider, String, boolean)
to submit any binary content and let this writer decide whether the content should be
written as base64 encoded character data or using xop:Include.
This makes optimization entirely transparent for the caller and there should be no need
to check if the writer is producing MTOM.
public java.lang.String getContentType()
public void writeOptimized(OMText node)
XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandlerProvider, String, boolean)
to submit any binary content and let this writer decide whether the content should be
written as base64 encoded character data or using xop:Include. If this is not
possible, then prepareDataHandler(DataHandler) should be used.
public boolean isOptimizedThreshold(OMText node)
XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandlerProvider, String, boolean)
to submit any binary content and let this writer decide whether the content should be
written as base64 encoded character data or using xop:Include. If this is not
possible, then prepareDataHandler(DataHandler) should be used.
All the aforementioned methods take into account the settings defined in
OMOutputFormat to determine whether the binary data should be optimized or not.
Therefore, there is not need for this method anymore.
public java.lang.String prepareDataHandler(javax.activation.DataHandler dataHandler)
DataHandler for serialization without using the DataHandlerWriter
API. The method first determines whether the binary data represented by the
DataHandler should be optimized or inlined. If the data should not be optimized, then
the method returns null and the caller is expected to use
writeCharacters(String) or writeCharacters(char[], int, int) to write the
base64 encoded data to the stream. If the data should be optimized, then the method returns a
content ID and the caller is expected to generate an xop:Include element referring
to that content ID.
This method should only be used to integrate Axiom with third party libraries that support
XOP. In all other cases,
XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandler, String, boolean)
or
XMLStreamWriterUtils.writeDataHandler(XMLStreamWriter, DataHandlerProvider, String, boolean)
should be used to write base64Binary values and the application code should never generate
xop:Include elements itself.
dataHandler - the DataHandler that the caller intends to write to the stream
null if the base64 encoded data should not be optimizedpublic void setXmlStreamWriter(javax.xml.stream.XMLStreamWriter xmlWriter)
public javax.xml.stream.XMLStreamWriter getXmlStreamWriter()
public java.lang.String getMimeBoundary()
public java.lang.String getRootContentId()
public java.lang.String getNextContentId()
public java.lang.String getCharSetEncoding()
public void setCharSetEncoding(java.lang.String charSetEncoding)
public java.lang.String getXmlVersion()
public void setXmlVersion(java.lang.String xmlVersion)
public void setSoap11(boolean b)
public boolean isIgnoreXMLDeclaration()
public void setIgnoreXMLDeclaration(boolean ignoreXMLDeclaration)
public void setDoOptimize(boolean b)
public OMOutputFormat getOutputFormat()
The caller should use the returned instance in a read-only way, i.e. he should not modify the settings of the output format. Any attempt to do so will lead to unpredictable results.
public void setOutputFormat(OMOutputFormat format)
public java.io.OutputStream getOutputStream()
throws javax.xml.stream.XMLStreamException
OutputStream for this writer, if available. This method allows a
node (perhaps an OMSourcedElement) to write its content directly
to the byte stream.
WARNING: This method should be used with extreme care. The caller must be prepared to handle the following issues:
null if the stream is not accessible
javax.xml.stream.XMLStreamExceptionpublic void setFilter(XMLStreamWriterFilter filter)
public XMLStreamWriterFilter removeFilter()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||