org.apache.axiom.attachments.utils
Class BAAInputStream
java.lang.Object
java.io.InputStream
org.apache.axiom.attachments.utils.BAAInputStream
- All Implemented Interfaces:
- java.io.Closeable
public class BAAInputStream
- extends java.io.InputStream
BAAInputStream is like a ByteArrayInputStream.
A ByteArrayInputStream stores the backing data in a byte[].
BAAInputStream stores the backing data in a Array of
4K byte[]. Using several non-contiguous chunks reduces
memory copy and resizing.
Constructor Summary |
BAAInputStream(java.util.ArrayList data,
int size)
|
Methods inherited from class java.io.InputStream |
close, skip |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
data
java.util.ArrayList data
BUFFER_SIZE
int BUFFER_SIZE
i
int i
size
int size
currIndex
int currIndex
totalIndex
int totalIndex
mark
int mark
currBuffer
byte[] currBuffer
read_byte
byte[] read_byte
BAAInputStream
public BAAInputStream(java.util.ArrayList data,
int size)
read
public int read()
throws java.io.IOException
- Specified by:
read
in class java.io.InputStream
- Throws:
java.io.IOException
available
public int available()
throws java.io.IOException
- Overrides:
available
in class java.io.InputStream
- Throws:
java.io.IOException
mark
public void mark(int readlimit)
- Overrides:
mark
in class java.io.InputStream
markSupported
public boolean markSupported()
- Overrides:
markSupported
in class java.io.InputStream
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
reset
public void reset()
throws java.io.IOException
- Overrides:
reset
in class java.io.InputStream
- Throws:
java.io.IOException