Berkeley DB
version 4.3.29

com.sleepycat.util
Class FastOutputStream

java.lang.Object
  extended byjava.io.OutputStream
      extended bycom.sleepycat.util.FastOutputStream
Direct Known Subclasses:
TupleOutput

public class FastOutputStream
extends OutputStream

A replacement for ByteArrayOutputStream that does not synchronize every byte read.

This class extends OutputStream and its write() methods allow it to be used as a standard output stream. In addition, it provides writeFast() methods that are not declared to throw IOException. IOException is never thrown by this class.


Field Summary
static int DEFAULT_BUMP_SIZE
           
static int DEFAULT_INIT_SIZE
           
 
Constructor Summary
FastOutputStream()
          Creates an output stream with default sizes.
FastOutputStream(byte[] buffer)
          Creates an output stream with a given initial buffer and a default bump size.
FastOutputStream(byte[] buffer, int bumpSize)
          Creates an output stream with a given initial buffer and a given bump size.
FastOutputStream(int initialSize)
          Creates an output stream with a default bump size and a given initial size.
FastOutputStream(int initialSize, int bumpSize)
          Creates an output stream with a given bump size and initial size.
 
Method Summary
 void addSize(int sizeAdded)
          Skip the given number of bytes in the buffer.
 byte[] getBufferBytes()
          Returns the buffer owned by this object.
 int getBufferLength()
          Returns the length used in the internal buffer, i.e., the offset at which data will be written next.
 int getBufferOffset()
          Returns the offset of the internal buffer.
 void makeSpace(int sizeNeeded)
          Ensure that at least the given number of bytes are available in the internal buffer.
 void reset()
           
 int size()
           
 byte[] toByteArray()
           
 void toByteArray(byte[] toBuf, int offset)
          Copy the buffered data to the given array.
 String toString()
           
 String toString(String encoding)
           
 void write(byte[] fromBuf)
           
 void write(byte[] fromBuf, int offset, int length)
           
 void write(int b)
           
 void writeFast(byte[] fromBuf)
          Equivalent to write(byte[]) but does not throw IOException.
 void writeFast(byte[] fromBuf, int offset, int length)
          Equivalent to write(byte[],int,int) but does not throw IOException.
 void writeFast(int b)
          Equivalent to write(int) but does not throw IOException.
 void writeTo(OutputStream out)
           
 
Methods inherited from class java.io.OutputStream
close, flush
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_INIT_SIZE

public static final int DEFAULT_INIT_SIZE
See Also:
Constant Field Values

DEFAULT_BUMP_SIZE

public static final int DEFAULT_BUMP_SIZE
See Also:
Constant Field Values
Constructor Detail

FastOutputStream

public FastOutputStream()
Creates an output stream with default sizes.


FastOutputStream

public FastOutputStream(int initialSize)
Creates an output stream with a default bump size and a given initial size.

Parameters:
initialSize - the initial size of the buffer.

FastOutputStream

public FastOutputStream(int initialSize,
                        int bumpSize)
Creates an output stream with a given bump size and initial size.

Parameters:
initialSize - the initial size of the buffer.
bumpSize - the amount to increment the buffer.

FastOutputStream

public FastOutputStream(byte[] buffer)
Creates an output stream with a given initial buffer and a default bump size.

Parameters:
buffer - the initial buffer; will be owned by this object.

FastOutputStream

public FastOutputStream(byte[] buffer,
                        int bumpSize)
Creates an output stream with a given initial buffer and a given bump size.

Parameters:
buffer - the initial buffer; will be owned by this object.
bumpSize - the amount to increment the buffer.
Method Detail

size

public int size()

reset

public void reset()

write

public void write(int b)
           throws IOException
Throws:
IOException

write

public void write(byte[] fromBuf)
           throws IOException
Throws:
IOException

write

public void write(byte[] fromBuf,
                  int offset,
                  int length)
           throws IOException
Throws:
IOException

writeTo

public void writeTo(OutputStream out)
             throws IOException
Throws:
IOException

toString

public String toString()

toString

public String toString(String encoding)
                throws UnsupportedEncodingException
Throws:
UnsupportedEncodingException

toByteArray

public byte[] toByteArray()

writeFast

public final void writeFast(int b)
Equivalent to write(int) but does not throw IOException.

See Also:
write(int)

writeFast

public final void writeFast(byte[] fromBuf)
Equivalent to write(byte[]) but does not throw IOException.

See Also:
write(byte[])

writeFast

public final void writeFast(byte[] fromBuf,
                            int offset,
                            int length)
Equivalent to write(byte[],int,int) but does not throw IOException.

See Also:
write(byte[],int,int)

toByteArray

public void toByteArray(byte[] toBuf,
                        int offset)
Copy the buffered data to the given array.

Parameters:
toBuf - the buffer to hold a copy of the data.
offset - the offset at which to start copying.

getBufferBytes

public byte[] getBufferBytes()
Returns the buffer owned by this object.

Returns:
the buffer.

getBufferOffset

public int getBufferOffset()
Returns the offset of the internal buffer.

Returns:
always zero currently.

getBufferLength

public int getBufferLength()
Returns the length used in the internal buffer, i.e., the offset at which data will be written next.

Returns:
the buffer length.

makeSpace

public void makeSpace(int sizeNeeded)
Ensure that at least the given number of bytes are available in the internal buffer.

Parameters:
sizeNeeded - the number of bytes desired.

addSize

public void addSize(int sizeAdded)
Skip the given number of bytes in the buffer.

Parameters:
sizeAdded - number of bytes to skip.

Berkeley DB
version 4.3.29

Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.