org.h2.mvstore

## Class WriteBuffer

- java.lang.Object
- - org.h2.mvstore.WriteBuffer

    public class WriteBuffer
    extends java.lang.Object

An auto-resize buffer to write data into a ByteBuffer.

### Constructor Summary

Constructors
Constructor and Description
`WriteBuffer()`
`WriteBuffer(int initialSize)`

### Method Summary

Methods
`int` `capacity()` Get the capacity.
`WriteBuffer` `clear()` Clear the buffer after use.
`WriteBuffer` `get(byte[] dst)` Copy the data into the destination array.
`java.nio.ByteBuffer` `getBuffer()` Get the byte buffer.
`int` `limit()` Get the limit.
`WriteBuffer` `limit(int newLimit)` Set the limit, possibly growing the buffer.
`int` `position()` Get the current position.
`WriteBuffer` `position(int newPosition)` Set the position.
`WriteBuffer` `put(byte x)` Put a byte.
`WriteBuffer` `put(byte[] bytes)` Put a byte array.
`WriteBuffer` `put(byte[] bytes, int offset, int length)` Put a byte array.
`WriteBuffer` `put(java.nio.ByteBuffer src)` Put the contents of a byte buffer.
`WriteBuffer` `putChar(char x)` Put a character.
`WriteBuffer` `putDouble(double x)` Put a double.
`WriteBuffer` `putFloat(float x)` Put a float.
`WriteBuffer` `putInt(int x)` Put an integer.
`WriteBuffer` `putInt(int index, int value)` Update an integer at the given index.
`WriteBuffer` `putLong(long x)` Put a long.
`WriteBuffer` `putShort(int index, short value)` Update a short at the given index.
`WriteBuffer` `putShort(short x)` Put a short.
`WriteBuffer` `putStringData(java.lang.String s, int len)` Write the characters of a string in a format similar to UTF-8.
`WriteBuffer` `putVarInt(int x)` Write a variable size integer.
`WriteBuffer` `putVarLong(long x)` Write a variable size long.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### WriteBuffer

    public WriteBuffer(int initialSize)

#### WriteBuffer

    public WriteBuffer()

### Method Detail

#### putVarInt

    public WriteBuffer putVarInt(int x)

Write a variable size integer.

Parameters:
  `x` - the value
Returns:
  this

#### putVarLong

    public WriteBuffer putVarLong(long x)

Write a variable size long.

Parameters:
  `x` - the value
Returns:
  this

#### putStringData

    public WriteBuffer putStringData(java.lang.String s,
                            int len)

Write the characters of a string in a format similar to UTF-8.

Parameters:
  `s` - the string
  `len` - the number of characters to write
Returns:
  this

#### put

    public WriteBuffer put(byte x)

Put a byte.

Parameters:
  `x` - the value
Returns:
  this

#### putChar

    public WriteBuffer putChar(char x)

Put a character.

Parameters:
  `x` - the value
Returns:
  this

#### putShort

    public WriteBuffer putShort(short x)

Put a short.

Parameters:
  `x` - the value
Returns:
  this

#### putInt

    public WriteBuffer putInt(int x)

Put an integer.

Parameters:
  `x` - the value
Returns:
  this

#### putLong

    public WriteBuffer putLong(long x)

Put a long.

Parameters:
  `x` - the value
Returns:
  this

#### putFloat

    public WriteBuffer putFloat(float x)

Put a float.

Parameters:
  `x` - the value
Returns:
  this

#### putDouble

    public WriteBuffer putDouble(double x)

Put a double.

Parameters:
  `x` - the value
Returns:
  this

#### put

    public WriteBuffer put(byte[] bytes)

Put a byte array.

Parameters:
  `bytes` - the value
Returns:
  this

#### put

    public WriteBuffer put(byte[] bytes,
                  int offset,
                  int length)

Put a byte array.

Parameters:
  `bytes` - the value
  `offset` - the source offset
  `length` - the number of bytes
Returns:
  this

#### put

    public WriteBuffer put(java.nio.ByteBuffer src)

Put the contents of a byte buffer.

Parameters:
  `src` - the source buffer
Returns:
  this

#### limit

    public WriteBuffer limit(int newLimit)

Set the limit, possibly growing the buffer.

Parameters:
  `newLimit` - the new limit
Returns:
  this

#### capacity

    public int capacity()

Get the capacity.

Returns:
  the capacity

#### position

    public WriteBuffer position(int newPosition)

Set the position.

Parameters:
  `newPosition` - the new position
Returns:
  the new position

#### limit

    public int limit()

Get the limit.

Returns:
  the limit

#### position

    public int position()

Get the current position.

Returns:
  the position

#### get

    public WriteBuffer get(byte[] dst)

Copy the data into the destination array.

Parameters:
  `dst` - the destination array
Returns:
  this

#### putInt

    public WriteBuffer putInt(int index,
                     int value)

Update an integer at the given index.

Parameters:
  `index` - the index
  `value` - the value
Returns:
  this

#### putShort

    public WriteBuffer putShort(int index,
                       short value)

Update a short at the given index.

Parameters:
  `index` - the index
  `value` - the value
Returns:
  this

#### clear

    public WriteBuffer clear()

Clear the buffer after use.

Returns:
  this

#### getBuffer

    public java.nio.ByteBuffer getBuffer()

Get the byte buffer.

Returns:
  the byte buffer