org.apache.axis.attachments
Class MultipartAttachmentStreams

java.lang.Object
  extended byorg.apache.axis.attachments.IncomingAttachmentStreams
      extended byorg.apache.axis.attachments.MultipartAttachmentStreams

public final class MultipartAttachmentStreams
extends IncomingAttachmentStreams

The MultipartAttachmentStreams class is used to create IncomingAttachmentInputStream objects when the HTTP stream shows a marked separation between the SOAP and each attachment parts. Unlike the DIME version, this class will use the BoundaryDelimitedStream to parse data in the SwA format. Another difference between the two is that the MultipartAttachmentStreams class must also provide a way to hold attachment parts parsed prior to where the SOAP part appears in the HTTP stream (i.e. the root part of the multipart-related message). Our DIME counterpart didn�t have to worry about this since the SOAP part is guaranteed to be the first in the stream. But since SwA has no such guarantee, we must fall back to caching these first parts. Afterwards, we can stream the rest of the attachments that are after the SOAP part of the request message.

Author:
David Wong, Brian Husted

Nested Class Summary
 
Nested classes inherited from class org.apache.axis.attachments.IncomingAttachmentStreams
IncomingAttachmentStreams.IncomingAttachmentInputStream
 
Constructor Summary
MultipartAttachmentStreams(BoundaryDelimitedStream delimitedStream)
           
MultipartAttachmentStreams(BoundaryDelimitedStream delimitedStream, java.util.Collection priorParts)
           
 
Method Summary
 IncomingAttachmentStreams.IncomingAttachmentInputStream getNextStream()
           
 void setAttachmentsPriorToSoapPart(java.util.Iterator iterator)
           
 
Methods inherited from class org.apache.axis.attachments.IncomingAttachmentStreams
isReadyToGetNextStream, setReadyToGetNextStream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultipartAttachmentStreams

public MultipartAttachmentStreams(BoundaryDelimitedStream delimitedStream)
                           throws AxisFault

MultipartAttachmentStreams

public MultipartAttachmentStreams(BoundaryDelimitedStream delimitedStream,
                                  java.util.Collection priorParts)
                           throws AxisFault
Method Detail

setAttachmentsPriorToSoapPart

public void setAttachmentsPriorToSoapPart(java.util.Iterator iterator)

getNextStream

public IncomingAttachmentStreams.IncomingAttachmentInputStream getNextStream()
                                                                      throws AxisFault
Specified by:
getNextStream in class IncomingAttachmentStreams
Returns:
The next delimited stream or null if no additional streams are left.
Throws:
AxisFault
See Also:
IncomingAttachmentStreams.getNextStream()


Copyright © 2005 Apache Web Services Project. All Rights Reserved.