org.apache.axiom.attachments
Class BoundaryPushbackInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byorg.apache.axiom.attachments.BoundaryPushbackInputStream

public class BoundaryPushbackInputStream
extends java.io.InputStream

An InputStream that reads bytes up to a boundary. The boundary is not logically part of the bytes to read. The wrapped PushbackInputStream is set to to the byte after the boundary once the bytes are read. The boundary is not logically returned. There are two forms that are supported, where . is a byte .......................boundary and ..................../r/nboundary In both cases, only the bytes (.) are returned.


Field Summary
protected static int BOUNDARY_NT_FOUND
           
 
Constructor Summary
BoundaryPushbackInputStream(java.io.PushbackInputStream inStream, byte[] boundary, int pushBackSize)
           
 
Method Summary
protected  int boundaryPosition(byte[] searchbuf, int start, int end)
          Read from the boundary delimited stream.
 boolean getBoundaryStatus()
           
 int read()
          Read from the boundary delimited stream.
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
          Read from the boundary delimited stream.
 
Methods inherited from class java.io.InputStream
available, close, mark, markSupported, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOUNDARY_NT_FOUND

protected static final int BOUNDARY_NT_FOUND
See Also:
Constant Field Values
Constructor Detail

BoundaryPushbackInputStream

public BoundaryPushbackInputStream(java.io.PushbackInputStream inStream,
                                   byte[] boundary,
                                   int pushBackSize)
Parameters:
inStream -
boundary -
pushBackSize -
Method Detail

read

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

read

public int read()
         throws java.io.IOException
Read from the boundary delimited stream. Generally, this won't be called...callers will most likely call the read(byte[]..) methods

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

read

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

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

boundaryPosition

protected int boundaryPosition(byte[] searchbuf,
                               int start,
                               int end)
                        throws java.io.IOException
Read from the boundary delimited stream.

Parameters:
searchbuf -
start -
end -
Returns:
The position of the boundary.
Throws:
java.io.IOException

getBoundaryStatus

public boolean getBoundaryStatus()


Copyright © 2004-2007 Apache Software Foundation. All Rights Reserved.