## 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
`WriteBuffer()`
`WriteBuffer(int initialSize)`

Method Summary
`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