org.ejdb.bson.io
Class OutputBuffer

java.lang.Object
  extended by org.ejdb.bson.io.OutputBuffer

public class OutputBuffer
extends java.lang.Object

Utility class for serialize BSON object

Version:
$Id$
Author:
Tyutyunkov Vyacheslav (tve@softmotions.com)

Field Summary
static int BUFFER_DEFAULT_LENGTH
           
 
Constructor Summary
OutputBuffer()
           
 
Method Summary
protected  void ensureLength(int need)
          Checks internal array size to hold needed data and expand it if need.
 int getActualSize()
          Returns actual (full) size of buffer (currently writed bytes)
 int getPosition()
          Returns current position in output
 byte[] getResult()
          Returns buffer as byte array
 void setPosition(int position)
          Sets position
 void write(byte data)
          Writes single byte to buffer
 void write(byte[] data)
          Writes byte array to buffer
 void write(byte[] data, int offset, int length)
          Writes part of byte array to buffer
 void writeDouble(double value)
          Writes double value to buffers as 8 bytes
 void writeInt(int value)
          Writes integer value to buffer as 4 bytes
 void writeIntAt(int position, int value)
          Writes integer value (4 bytes) at specified position
 void writeLong(long value)
          Writes long value to buffer as 8 bytes
 int writeString(java.lang.String value)
          Writes String to buffer as c-style string (null-terminated)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUFFER_DEFAULT_LENGTH

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

OutputBuffer

public OutputBuffer()
Method Detail

getPosition

public int getPosition()
Returns current position in output

Returns:
current position in output

setPosition

public void setPosition(int position)
Sets position


getActualSize

public int getActualSize()
Returns actual (full) size of buffer (currently writed bytes)

Returns:
actual (full) size of buffer (currently writed bytes)

getResult

public byte[] getResult()
Returns buffer as byte array

Returns:
buffer as byte array

write

public void write(byte data)
Writes single byte to buffer


write

public void write(byte[] data)
Writes byte array to buffer


write

public void write(byte[] data,
                  int offset,
                  int length)
Writes part of byte array to buffer

Parameters:
data - source byte array
offset - start position in source
length - count bytes to write

writeIntAt

public void writeIntAt(int position,
                       int value)
Writes integer value (4 bytes) at specified position

Parameters:
position - position to write
value - value

writeInt

public void writeInt(int value)
Writes integer value to buffer as 4 bytes


writeLong

public void writeLong(long value)
Writes long value to buffer as 8 bytes


writeDouble

public void writeDouble(double value)
Writes double value to buffers as 8 bytes


writeString

public int writeString(java.lang.String value)
Writes String to buffer as c-style string (null-terminated)

Returns:
count of writed bytes

ensureLength

protected void ensureLength(int need)
Checks internal array size to hold needed data and expand it if need.