org.apache.axis.attachments
Class IncomingAttachmentStreams

java.lang.Object
  extended byorg.apache.axis.attachments.IncomingAttachmentStreams
Direct Known Subclasses:
DimeAttachmentStreams, MultipartAttachmentStreams

public abstract class IncomingAttachmentStreams
extends java.lang.Object

Similiar in concept to an iterator over the delimited streams inside of the HTTP stream. One difference between this class and a full fledge iterator is that the class is unable to tell if there are more streams until the last one has been fully read. It will however, return null when the end of the HTTP stream has been reached. Since the HTTP stream can contain data in different formats (e.g. DIME or SwA), the IncomingAttachmentStreams class will be an abstract class letting its derivatives handle the specifics to parsing out the HTTP stream. However, the class will implement methods that keep track of when each of the delimited streams are completely read. This is necessary since the next stream cannot be created until the previous stream has been fully read due to the fact that we are actually dealing with a single stream delimited by markers.

Author:
David Wong, Brian Husted

Nested Class Summary
 class IncomingAttachmentStreams.IncomingAttachmentInputStream
           
 
Constructor Summary
IncomingAttachmentStreams()
           
 
Method Summary
abstract  IncomingAttachmentStreams.IncomingAttachmentInputStream getNextStream()
           
 boolean isReadyToGetNextStream()
           
protected  void setReadyToGetNextStream(boolean ready)
          Set the ready flag.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IncomingAttachmentStreams

public IncomingAttachmentStreams()
Method Detail

getNextStream

public abstract IncomingAttachmentStreams.IncomingAttachmentInputStream getNextStream()
                                                                               throws AxisFault
Returns:
The next delimited stream or null if no additional streams are left.
Throws:
AxisFault

isReadyToGetNextStream

public final boolean isReadyToGetNextStream()
Returns:
True if the next stream can be read, false otherwise.

setReadyToGetNextStream

protected final void setReadyToGetNextStream(boolean ready)
Set the ready flag. Intended for the inner class to use.

Parameters:
ready -


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