## org.mariadb.jdbc.internal.com.read
Class Buffer

    java.lang.Object
      org.mariadb.jdbc.internal.com.read.Buffer

    public class Buffer

extends Object

Field Summary
`byte[]` `buf`
`int` `limit`
`int` `position`
`static Charset` `UTF_8`

Constructor Summary
`Buffer(byte[] buf)` Constructor with default limit and offset.
`Buffer(byte[] buf, int limit)`

Method Summary
`byte` `getByteAt(int position)`
`Buffer` `getLengthEncodedBuffer()` Get next data bytes from length encoded prefix.
`byte[]` `getLengthEncodedBytes()` Get next data bytes with length encoded prefix.
`long` `getLengthEncodedNumeric()` Get next binary data length.
`int` `read24bitword()` Read 24 bit integer.
`byte` `readByte()` Reads a byte from the buffer.
`byte[]` `readBytesNullEnd()` Reads a byte array from the buffer, looks for a 0 to end the array.
`int` `readInt()` Read a int (4 bytes) from the buffer.
`long` `readLong()` Read a long (8 bytes) from the buffer.
`byte[]` `readRawBytes(int numberOfBytes)` Read raw data.
`short` `readShort()` Read a short (2 bytes) from the buffer.
`String` `readStringLengthEncoded(Charset charset)` Reads length-encoded string.
`String` `readStringNullEnd(Charset charset)` Reads a string from the buffer, looks for a 0 to end the string.
`int` `remaining()`
`void` `skipByte()`
`void` `skipBytes(int bytesToSkip)`
`void` `skipLengthEncodedBytes()` Skip next length encode binary data.
`void` `writeBytes(byte header, byte[] bytes)` Write bytes.
`void` `writeLength(long length)` Write length.
`void` `writeStringLength(String value)` Write value with length encoded prefix.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### UTF_8

    public static final Charset UTF_8

### buf

    public byte[] buf

### position

    public int position

### limit

    public int limit

Constructor Detail

### Buffer

    public Buffer(byte[] buf,
                  int limit)

### Buffer

    public Buffer(byte[] buf)

  Constructor with default limit and offset.

  Parameters:
    `buf` - byte array

Method Detail

### remaining

    public int remaining()

### readStringNullEnd

    public String readStringNullEnd(Charset charset)

  Reads a string from the buffer, looks for a 0 to end the string.

  Parameters:
    `charset` - the charset to use, for example ASCII
  Returns:
    the read string

### readBytesNullEnd

    public byte[] readBytesNullEnd()

  Reads a byte array from the buffer, looks for a 0 to end the array.

  Returns:
    the read array

### readStringLengthEncoded

    public String readStringLengthEncoded(Charset charset)

  Reads length-encoded string.

  Parameters:
    `charset` - the charset to use, for example ASCII
  Returns:
    the read string

### readShort

    public short readShort()

  Read a short (2 bytes) from the buffer.

  Returns:
    an short

### read24bitword

    public int read24bitword()

  Read 24 bit integer.

  Returns:
    length

### readInt

    public int readInt()

  Read a int (4 bytes) from the buffer.

  Returns:
    a int

### readLong

    public long readLong()

  Read a long (8 bytes) from the buffer.

  Returns:
    a long

### readByte

    public byte readByte()

  Reads a byte from the buffer.

  Returns:
    the byte

### readRawBytes

    public byte[] readRawBytes(int numberOfBytes)

  Read raw data.

  Parameters:
    `numberOfBytes` - raw data length.
  Returns:
    raw data

### skipByte

    public void skipByte()

### skipBytes

    public void skipBytes(int bytesToSkip)

### skipLengthEncodedBytes

    public void skipLengthEncodedBytes()

  Skip next length encode binary data.

### getLengthEncodedNumeric

    public long getLengthEncodedNumeric()

  Get next binary data length.

  Returns:
    length of next binary data

### getLengthEncodedBuffer

    public Buffer getLengthEncodedBuffer()

  Get next data bytes from length encoded prefix.

  Returns:
    buffer

### getLengthEncodedBytes

    public byte[] getLengthEncodedBytes()

  Get next data bytes with length encoded prefix.

  Returns:
    the raw binary data

### getByteAt

    public byte getByteAt(int position)

### writeStringLength

    public void writeStringLength(String value)

  Write value with length encoded prefix.

  Parameters:
    `value` - value to write

### writeBytes

    public void writeBytes(byte header,
                           byte[] bytes)

  Write bytes.

  Parameters:
    `header` - header byte
    `bytes` - command bytes

### writeLength

    public void writeLength(long length)

  Write length.

  Parameters:
    `length` - length

Copyright © 2017. All rights reserved.