Closeable
, Flushable
, AutoCloseable
, BsonOutput
public class ByteBufferBsonOutput extends OutputBuffer
Modifier and Type | Field | Description |
---|---|---|
static int |
INITIAL_BUFFER_SIZE |
|
static int |
MAX_BUFFER_SIZE |
Constructor | Description |
---|---|
ByteBufferBsonOutput(BufferProvider bufferProvider) |
Construct an instance that uses the given buffer provider to allocate byte buffers as needs as it grows.
|
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
|
List<ByteBuf> |
getByteBuffers() |
Get a list of byte buffers that are prepared to be read from; in other words, whose position is 0 and whose limit is the number of
bytes that should read.
|
int |
getPosition() |
Gets the current position in the stream.
|
int |
getSize() |
Gets the current size of the stream in number of bytes.
|
int |
pipe(OutputStream out) |
Pipe the contents of this output buffer into the given output stream
|
void |
truncateToPosition(int newPosition) |
Truncates this stream to the new position.
|
protected void |
write(int absolutePosition,
int value) |
Write the specified byte at the specified position.
|
void |
writeByte(int value) |
Write a single byte to the stream.
|
void |
writeBytes(byte[] bytes,
int offset,
int length) |
Writes
length bytes from the byte array, starting at offset . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
size, toByteArray, toString, write, write, write, writeBytes, writeCString, writeDouble, writeInt, writeInt32, writeInt32, writeInt64, writeLong, writeObjectId, writeString
flush
public static final int INITIAL_BUFFER_SIZE
public static final int MAX_BUFFER_SIZE
public ByteBufferBsonOutput(BufferProvider bufferProvider)
bufferProvider
- the non-null buffer providerpublic void writeBytes(byte[] bytes, int offset, int length)
BsonOutput
length
bytes from the byte array, starting at offset
.bytes
- the non-null byte arrayoffset
- the offset to start writing fromlength
- the number of bytes to writepublic void writeByte(int value)
BsonOutput
value
- the valuepublic int getPosition()
BsonOutput
public int getSize()
BsonOutput
protected void write(int absolutePosition, int value)
OutputBuffer
write
in class OutputBuffer
absolutePosition
- the position, which must be greater than equal to 0 and at least 4 less than the stream sizevalue
- the value to write. The 24 high-order bits of the value are ignored.public List<ByteBuf> getByteBuffers()
OutputBuffer
Note that the byte buffers may be read-only.
getByteBuffers
in class OutputBuffer
public int pipe(OutputStream out) throws IOException
OutputBuffer
pipe
in class OutputBuffer
out
- the stream to pipe toIOException
- if the stream throws an exceptionpublic void truncateToPosition(int newPosition)
BsonOutput
truncateToPosition
in interface BsonOutput
truncateToPosition
in class OutputBuffer
newPosition
- the new position, which must be greater than or equal to 0 and less than the current size.public void close()
close
in interface AutoCloseable
close
in interface BsonOutput
close
in interface Closeable
close
in class OutputBuffer