org.apache.axiom.util.stax.xop
Class XOPEncodingStreamWriter

java.lang.Object
  extended by org.apache.axiom.util.stax.xop.XOPEncodingStreamWrapper
      extended by org.apache.axiom.util.stax.xop.XOPEncodingStreamWriter
All Implemented Interfaces:
javax.xml.stream.XMLStreamWriter, DataHandlerWriter, MimePartProvider

public class XOPEncodingStreamWriter
extends XOPEncodingStreamWrapper
implements javax.xml.stream.XMLStreamWriter, DataHandlerWriter

XMLStreamWriter wrapper that encodes XOP. It implements the extension defined by DataHandlerWriter. 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.


Field Summary
 
Fields inherited from interface org.apache.axiom.ext.stax.datahandler.DataHandlerWriter
PROPERTY
 
Constructor Summary
XOPEncodingStreamWriter(javax.xml.stream.XMLStreamWriter parent, ContentIDGenerator contentIDGenerator, OptimizationPolicy optimizationPolicy)
          Constructor.
 
Method Summary
 void close()
           
 void flush()
           
 javax.xml.namespace.NamespaceContext getNamespaceContext()
           
 java.lang.String getPrefix(java.lang.String uri)
           
 java.lang.Object getProperty(java.lang.String name)
           
 void setDefaultNamespace(java.lang.String uri)
           
 void setNamespaceContext(javax.xml.namespace.NamespaceContext context)
           
 void setPrefix(java.lang.String prefix, java.lang.String uri)
           
 void writeAttribute(java.lang.String localName, java.lang.String value)
           
 void writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
           
 void writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
           
 void writeCData(java.lang.String data)
           
 void writeCharacters(char[] text, int start, int len)
           
 void writeCharacters(java.lang.String text)
           
 void writeComment(java.lang.String data)
           
 void writeDataHandler(DataHandlerProvider dataHandlerProvider, java.lang.String contentID, boolean optimize)
          Write binary content to the stream.
 void writeDataHandler(javax.activation.DataHandler dataHandler, java.lang.String contentID, boolean optimize)
          Write binary content to the stream.
 void writeDefaultNamespace(java.lang.String namespaceURI)
           
 void writeDTD(java.lang.String dtd)
           
 void writeEmptyElement(java.lang.String localName)
           
 void writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName)
           
 void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)
           
 void writeEndDocument()
           
 void writeEndElement()
           
 void writeEntityRef(java.lang.String name)
           
 void writeNamespace(java.lang.String prefix, java.lang.String namespaceURI)
           
 void writeProcessingInstruction(java.lang.String target)
           
 void writeProcessingInstruction(java.lang.String target, java.lang.String data)
           
 void writeStartDocument()
           
 void writeStartDocument(java.lang.String version)
           
 void writeStartDocument(java.lang.String encoding, java.lang.String version)
           
 void writeStartElement(java.lang.String localName)
           
 void writeStartElement(java.lang.String namespaceURI, java.lang.String localName)
           
 void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)
           
 
Methods inherited from class org.apache.axiom.util.stax.xop.XOPEncodingStreamWrapper
getContentIDs, getDataHandler, isLoaded, processDataHandler, processDataHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XOPEncodingStreamWriter

public XOPEncodingStreamWriter(javax.xml.stream.XMLStreamWriter parent,
                               ContentIDGenerator contentIDGenerator,
                               OptimizationPolicy optimizationPolicy)
Constructor.

Parameters:
parent - the XML stream to write the encoded infoset to
contentIDGenerator - used to generate content IDs for the binary content encoded as xop:Include element information items
optimizationPolicy - the policy to apply to decide which binary content to optimize
Method Detail

getProperty

public java.lang.Object getProperty(java.lang.String name)
                             throws java.lang.IllegalArgumentException
Specified by:
getProperty in interface javax.xml.stream.XMLStreamWriter
Throws:
java.lang.IllegalArgumentException

writeDataHandler

public void writeDataHandler(javax.activation.DataHandler dataHandler,
                             java.lang.String contentID,
                             boolean optimize)
                      throws java.io.IOException,
                             javax.xml.stream.XMLStreamException
Description copied from interface: DataHandlerWriter
Write binary content to the stream. The implementation may choose to write the data as base64 encoded character data or using an optimization protocol such as XOP/MTOM.

Specified by:
writeDataHandler in interface DataHandlerWriter
Parameters:
dataHandler - the binary content to write
contentID - an existing content ID for the binary data (see above)
optimize - indicates whether the content is eligible for optimization (see above)
Throws:
java.io.IOException - if an error occurs while reading from the data handler
javax.xml.stream.XMLStreamException - if an error occurs while writing to the underlying stream

writeDataHandler

public void writeDataHandler(DataHandlerProvider dataHandlerProvider,
                             java.lang.String contentID,
                             boolean optimize)
                      throws java.io.IOException,
                             javax.xml.stream.XMLStreamException
Description copied from interface: DataHandlerWriter
Write binary content to the stream. This method allows the implementation to defer loading of the content. More precisely, if the implementation decides to use an optimization scheme such as XOP, then the content will not be written immediately to the underlying stream, but only after the XML infoset is complete. If the caller uses this method, the implementation can defer the actual loading of the binary content.

Specified by:
writeDataHandler in interface DataHandlerWriter
Parameters:
dataHandlerProvider - the binary content to write
contentID - an existing content ID for the binary data (see above)
optimize - indicates whether the content is eligible for optimization (see above)
Throws:
java.io.IOException - If an error occurs while reading from the data handler. Since the implementation is free to override the supplied optimize argument, it may attempt to load the binary data immediately. Because this operation may fail, the method must declare this exception.
javax.xml.stream.XMLStreamException - if an error occurs while writing to the underlying stream

close

public void close()
           throws javax.xml.stream.XMLStreamException
Specified by:
close in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

flush

public void flush()
           throws javax.xml.stream.XMLStreamException
Specified by:
flush in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

getNamespaceContext

public javax.xml.namespace.NamespaceContext getNamespaceContext()
Specified by:
getNamespaceContext in interface javax.xml.stream.XMLStreamWriter

getPrefix

public java.lang.String getPrefix(java.lang.String uri)
                           throws javax.xml.stream.XMLStreamException
Specified by:
getPrefix in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

setDefaultNamespace

public void setDefaultNamespace(java.lang.String uri)
                         throws javax.xml.stream.XMLStreamException
Specified by:
setDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

setNamespaceContext

public void setNamespaceContext(javax.xml.namespace.NamespaceContext context)
                         throws javax.xml.stream.XMLStreamException
Specified by:
setNamespaceContext in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

setPrefix

public void setPrefix(java.lang.String prefix,
                      java.lang.String uri)
               throws javax.xml.stream.XMLStreamException
Specified by:
setPrefix in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String prefix,
                           java.lang.String namespaceURI,
                           java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String namespaceURI,
                           java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeCData

public void writeCData(java.lang.String data)
                throws javax.xml.stream.XMLStreamException
Specified by:
writeCData in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeCharacters

public void writeCharacters(char[] text,
                            int start,
                            int len)
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeCharacters in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeCharacters

public void writeCharacters(java.lang.String text)
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeCharacters in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeComment

public void writeComment(java.lang.String data)
                  throws javax.xml.stream.XMLStreamException
Specified by:
writeComment in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeDefaultNamespace

public void writeDefaultNamespace(java.lang.String namespaceURI)
                           throws javax.xml.stream.XMLStreamException
Specified by:
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeDTD

public void writeDTD(java.lang.String dtd)
              throws javax.xml.stream.XMLStreamException
Specified by:
writeDTD in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String prefix,
                              java.lang.String localName,
                              java.lang.String namespaceURI)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String namespaceURI,
                              java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEndDocument

public void writeEndDocument()
                      throws javax.xml.stream.XMLStreamException
Specified by:
writeEndDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEndElement

public void writeEndElement()
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeEndElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEntityRef

public void writeEntityRef(java.lang.String name)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeEntityRef in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeNamespace

public void writeNamespace(java.lang.String prefix,
                           java.lang.String namespaceURI)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeNamespace in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeProcessingInstruction

public void writeProcessingInstruction(java.lang.String target,
                                       java.lang.String data)
                                throws javax.xml.stream.XMLStreamException
Specified by:
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeProcessingInstruction

public void writeProcessingInstruction(java.lang.String target)
                                throws javax.xml.stream.XMLStreamException
Specified by:
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument()
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument(java.lang.String encoding,
                               java.lang.String version)
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument(java.lang.String version)
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String prefix,
                              java.lang.String localName,
                              java.lang.String namespaceURI)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String namespaceURI,
                              java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.