org.apache.axiom.mime
Interface MultipartWriter


public interface MultipartWriter

Writes a MIME multipart package as used by XOP/MTOM and SOAP with Attachments. Objects implementing this interface are created using a MultipartWriterFactory. MIME parts are written using writePart(String, String, String) or writePart(DataHandler, String, String). Calls to both methods can be mixed, i.e. it is not required to use the same method for all MIME parts. Instead, the caller should choose the most convenient method for each part (depending on the form in which the content is available). After all parts have been written, complete() must be called to write the final MIME boundary.

The following semantics are defined for the contentTransferEncoding and contentID arguments of the two write methods:


Method Summary
 void complete()
          Complete writing of the MIME multipart package.
 void writePart(DataHandler dataHandler, String contentTransferEncoding, String contentID)
          Write a MIME part.
 void writePart(DataHandler dataHandler, String contentTransferEncoding, String contentID, List extraHeaders)
          Write a MIME part.
 OutputStream writePart(String contentType, String contentTransferEncoding, String contentID)
          Start writing a MIME part.
 OutputStream writePart(String contentType, String contentTransferEncoding, String contentID, List extraHeaders)
          Start writing a MIME part.
 

Method Detail

writePart

OutputStream writePart(String contentType,
                       String contentTransferEncoding,
                       String contentID)
                       throws IOException
Start writing a MIME part. The methods returns an OutputStream that the caller can use to write the content of the MIME part. After writing the content, OutputStream.close() must be called to complete the writing of the MIME part.

Parameters:
contentType - the value of the Content-Type header of the MIME part
contentTransferEncoding - the content transfer encoding to be used (see above); must not be null
contentID - the content ID of the MIME part (see above)
Returns:
an output stream to write the content of the MIME part
Throws:
IOException - if an I/O error occurs when writing to the underlying stream

writePart

OutputStream writePart(String contentType,
                       String contentTransferEncoding,
                       String contentID,
                       List extraHeaders)
                       throws IOException
Start writing a MIME part. The method is similar to writePart(String, String, String) but accepts a list of additional headers for the MIME part.

Parameters:
contentType - the value of the Content-Type header of the MIME part
contentTransferEncoding - the content transfer encoding to be used (see above); must not be null
contentID - the content ID of the MIME part (see above)
extraHeaders - a list of Header objects with additional headers to write to the MIME part
Returns:
an output stream to write the content of the MIME part
Throws:
IOException - if an I/O error occurs when writing to the underlying stream

writePart

void writePart(DataHandler dataHandler,
               String contentTransferEncoding,
               String contentID)
               throws IOException
Write a MIME part. The content is provided by a DataHandler object, which also specifies the content type of the part.

Parameters:
dataHandler - the content of the MIME part to write
contentTransferEncoding - the content transfer encoding to be used (see above); must not be null
contentID - the content ID of the MIME part (see above)
Throws:
IOException - if an I/O error occurs when writing the part to the underlying stream

writePart

void writePart(DataHandler dataHandler,
               String contentTransferEncoding,
               String contentID,
               List extraHeaders)
               throws IOException
Write a MIME part. The content is provided by a DataHandler object, which also specifies the content type of the part. The method is similar to writePart(DataHandler, String, String) but accepts a list of additional headers for the MIME part.

Parameters:
dataHandler - the content of the MIME part to write
contentTransferEncoding - the content transfer encoding to be used (see above); must not be null
contentID - the content ID of the MIME part (see above)
extraHeaders - a list of Header objects with additional headers to write to the MIME part
Throws:
IOException - if an I/O error occurs when writing the part to the underlying stream

complete

void complete()
              throws IOException
Complete writing of the MIME multipart package. This method does not close the underlying stream.

Throws:
IOException - if an I/O error occurs when writing to the underlying stream


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