org.apache.axiom.attachments
Class MultipartAttachmentStreams

java.lang.Object
  extended by org.apache.axiom.attachments.IncomingAttachmentStreams
      extended by org.apache.axiom.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.


Field Summary
private  BoundaryDelimitedStream _delimitedStream
           
 
Fields inherited from class org.apache.axiom.attachments.IncomingAttachmentStreams
_readyToGetNextStream
 
Constructor Summary
MultipartAttachmentStreams(BoundaryDelimitedStream delimitedStream)
           
 
Method Summary
 IncomingAttachmentInputStream getNextStream()
          Returns the next attachment stream in sequence.
 
Methods inherited from class org.apache.axiom.attachments.IncomingAttachmentStreams
isReadyToGetNextStream, setReadyToGetNextStream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_delimitedStream

private BoundaryDelimitedStream _delimitedStream
Constructor Detail

MultipartAttachmentStreams

public MultipartAttachmentStreams(BoundaryDelimitedStream delimitedStream)
                           throws OMException
Throws:
OMException
Method Detail

getNextStream

public IncomingAttachmentInputStream getNextStream()
                                            throws OMException
Description copied from class: IncomingAttachmentStreams
Returns the next attachment stream in sequence.

Specified by:
getNextStream in class IncomingAttachmentStreams
Returns:
The next stream or null if no additional streams are left.
Throws:
OMException
See Also:
org.apache.axis.attachments.IncomingAttachmentStreams#getNextStream()