org.apache.axis.attachments
Class DimeDelimitedInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byjava.io.FilterInputStream
          extended byorg.apache.axis.attachments.DimeDelimitedInputStream

public class DimeDelimitedInputStream
extends java.io.FilterInputStream

This class takes the input stream and turns it multiple streams. DIME version 0 format

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ---
 | VERSION |B|E|C| TYPE_T| OPT_T |         OPTIONS_LENGTH        |   A
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          ID_LENGTH          |             TYPE_LENGTH         |   Always present 12 bytes 
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   even on chunked data.
 |                          DATA_LENGTH                          |   V
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ---
 |                                                               /
 /                       OPTIONS + PADDING                       /
 /                     (absent for version 0)                    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               /
 /                        ID + PADDING                           /
 /                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               /
 /                        TYPE + PADDING                         /
 /                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               /
 /                        DATA + PADDING                         /
 /                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Method Summary
 int available()
           
 void close()
          Closes the stream.
 java.lang.String getContentId()
          Get the id for this stream part.
 DimeTypeNameFormat getDimeTypeNameFormat()
          Read from the boundary delimited stream.
 java.lang.String getType()
          get type.
 void mark(int readlimit)
          mark the stream.
 boolean markSupported()
          markSupported return false;
 int read()
          Read from the boundary delimited stream.
 int read(byte[] b)
          Read from the delimited stream.
 int read(byte[] b, int off, int len)
          Read from the DIME stream.
 void reset()
          reset the stream.
 
Methods inherited from class java.io.FilterInputStream
skip
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getContentId

public java.lang.String getContentId()
Get the id for this stream part.

Returns:
the id;

getDimeTypeNameFormat

public DimeTypeNameFormat getDimeTypeNameFormat()
Read from the boundary delimited stream.

Returns:
the number of bytes read. -1 if endof stream.

getType

public java.lang.String getType()
get type.

Returns:
the number of bytes read. -1 if endof stream.

read

public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException
Read from the DIME stream.

Parameters:
b - is the array to read into.
off - is the offset
Returns:
the number of bytes read. -1 if endof stream.
Throws:
java.io.IOException

read

public int read(byte[] b)
         throws java.io.IOException
Read from the delimited stream.

Parameters:
b - is the array to read into. Read as much as possible into the size of this array.
Returns:
the number of bytes read. -1 if endof stream.
Throws:
java.io.IOException

read

public int read()
         throws java.io.IOException
Read from the boundary delimited stream.

Returns:
The byte read, or -1 if endof stream.
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Closes the stream.

Throws:
java.io.IOException

mark

public void mark(int readlimit)
mark the stream. This is not supported.


reset

public void reset()
           throws java.io.IOException
reset the stream. This is not supported.

Throws:
java.io.IOException

markSupported

public boolean markSupported()
markSupported return false;


available

public int available()
              throws java.io.IOException
Throws:
java.io.IOException


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