Package org.h2.mvstore

# Class WriteBuffer

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

public class WriteBuffer extends Object
An auto-resize buffer to write data into a ByteBuffer.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`int`
`capacity()`
Get the capacity.
`WriteBuffer`
`clear()`
Clear the buffer after use.
`WriteBuffer`
`get(byte[] dst)`
Copy the data into the destination array.
`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(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(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 Details

### WriteBuffer

public WriteBuffer(int initialSize)

### WriteBuffer

public WriteBuffer()

## Method Details

### 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(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(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 ByteBuffer getBuffer()
Get the byte buffer.

Returns:
  the byte buffer