## org.apache.axis.attachments
Class MultiPartDimeInputStream

    java.lang.Object
      java.io.InputStream
          java.io.FilterInputStream
              org.apache.axis.attachments.MultiPartInputStream
                  org.apache.axis.attachments.MultiPartDimeInputStream

public class MultiPartDimeInputStream
extends MultiPartInputStream

This simulates the multipart stream.

Author:
  Rick Rineholt

Field Summary
`protected byte[]` `boundary`
`protected java.io.ByteArrayInputStream` `cachedSOAPEnvelope`
`protected boolean` `closed`
`protected java.lang.String` `contentId`
`protected DimeDelimitedInputStream` `dimeDelimitedStream`
`protected boolean` `eos`
`protected static org.apache.commons.logging.Log` `log`
`protected java.util.LinkedList` `orderedParts`
`protected java.util.HashMap` `parts`
`protected static java.lang.String[]` `READ_ALL`
`protected int` `rootPartLength`
`protected java.io.InputStream` `soapStream`

Fields inherited from class java.io.FilterInputStream
`in`

Constructor Summary
`MultiPartDimeInputStream(java.io.InputStream is)` Create a new Multipart stream from an input stream.

Method Summary
`protected void` `addPart(java.lang.String contentId, java.lang.String locationId, AttachmentPart ap)`
`void` `close()`
`Part` `getAttachmentByReference(java.lang.String[] id)`
`java.util.Collection` `getAttachments()`
`java.lang.String` `getContentId()` Return the content id of the stream.
`java.lang.String` `getContentLocation()` Return the content location.
`int` `read()`
`int` `read(byte[] b)`
`int` `read(byte[] b, int off, int len)`
`protected void` `readAll()`
`protected Part` `readTillFound(java.lang.String[] id)` This will read streams in till the one that is needed is found.

Methods inherited from class java.io.FilterInputStream
`available, mark, markSupported, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### log

    protected static org.apache.commons.logging.Log log

### parts

    protected java.util.HashMap parts

### orderedParts

    protected java.util.LinkedList orderedParts

### rootPartLength

    protected int rootPartLength

### closed

    protected boolean closed

### eos

    protected boolean eos

### dimeDelimitedStream

    protected DimeDelimitedInputStream dimeDelimitedStream

### soapStream

    protected java.io.InputStream soapStream

### boundary

    protected byte[] boundary

### cachedSOAPEnvelope

    protected java.io.ByteArrayInputStream cachedSOAPEnvelope

### contentId

    protected java.lang.String contentId

### READ_ALL

    protected static final java.lang.String[] READ_ALL

Constructor Detail

### MultiPartDimeInputStream

    public MultiPartDimeInputStream(java.io.InputStream is)
                             throws java.io.IOException

  Create a new Multipart stream from an input stream.

Parameters:
  `is` - the true input stream that is read from
Throws:
  `java.io.IOException` - if it was not possible to build the Multipart

Method Detail

### getAttachmentByReference

    public Part getAttachmentByReference(java.lang.String[] id)
                                  throws AxisFault

  Specified by:
    `getAttachmentByReference` in class `MultiPartInputStream`
  Throws:
    `AxisFault`

### addPart

    protected void addPart(java.lang.String contentId,
                           java.lang.String locationId,
                           AttachmentPart ap)

### readAll

    protected void readAll()
                    throws AxisFault

  Throws:
    `AxisFault`

### getAttachments

    public java.util.Collection getAttachments()
                                        throws AxisFault

  Specified by:
    `getAttachments` in class `MultiPartInputStream`
  Throws:
    `AxisFault`

### readTillFound

    protected Part readTillFound(java.lang.String[] id)
                          throws java.io.IOException

  This will read streams in till the one that is needed is found.

  Parameters:
    `id` - is the stream being sought
  Returns:
    a `Part` matching the ids
  Throws:
    `java.io.IOException`

### getContentLocation

    public java.lang.String getContentLocation()

  Return the content location.

  Specified by:
    `getContentLocation` in class `MultiPartInputStream`
  Returns:
    the Content-Location of the stream. Null if no content-location specified.

### getContentId

    public java.lang.String getContentId()

  Return the content id of the stream.

  Specified by:
    `getContentId` in class `MultiPartInputStream`
  Returns:
    the Content-Location of the stream. Null if no content-location specified.

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### read

    public int read(byte[] b)
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### read

    public int read()
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### close

    public void close()
               throws java.io.IOException

  Throws:
    `java.io.IOException`

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