org.apache.avro.io

## Class BinaryData

- java.lang.Object
- - org.apache.avro.io.BinaryData

    public class BinaryData
    extends Object

Utilities for binary-encoded data.

### Method Summary

All Methods Static Methods Concrete Methods
`static int` `compare(byte[] b1, int s1, byte[] b2, int s2, Schema schema)` Compare binary encoded data.
`static int` `compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2, Schema schema)` Compare binary encoded data.
`static int` `compareBytes(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2)` Lexicographically compare bytes.
`static int` `encodeBoolean(boolean b, byte[] buf, int pos)` Encode a boolean to the byte array at the given position.
`static int` `encodeDouble(double d, byte[] buf, int pos)` Encode a double to the byte array at the given position.
`static int` `encodeFloat(float f, byte[] buf, int pos)` Encode a float to the byte array at the given position.
`static int` `encodeInt(int n, byte[] buf, int pos)` Encode an integer to the byte array at the given position.
`static int` `encodeLong(long n, byte[] buf, int pos)` Encode a long to the byte array at the given position.
`static int` `hashCode(byte[] bytes, int start, int length, Schema schema)` Hash binary encoded data.
`static int` `skipLong(byte[] bytes, int start)` Skip a binary-encoded long, returning the position after it.

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

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

### Method Detail

#### compare

    public static int compare(byte[] b1,
                              int s1,
                              byte[] b2,
                              int s2,
                              Schema schema)

Compare binary encoded data. If equal, return zero. If greater-than, return 1, if less than return -1. Order is consistent with that of `GenericData.compare(Object, Object, Schema)`.

#### compare

    public static int compare(byte[] b1,
                              int s1,
                              int l1,
                              byte[] b2,
                              int s2,
                              int l2,
                              Schema schema)

Compare binary encoded data. If equal, return zero. If greater-than, return 1, if less than return -1. Order is consistent with that of `GenericData.compare(Object, Object, Schema)`.

#### compareBytes

    public static int compareBytes(byte[] b1,
                                   int s1,
                                   int l1,
                                   byte[] b2,
                                   int s2,
                                   int l2)

Lexicographically compare bytes. If equal, return zero. If greater-than, return a positive value, if less than return a negative value.

#### hashCode

    public static int hashCode(byte[] bytes,
                               int start,
                               int length,
                               Schema schema)

Hash binary encoded data. Consistent with `GenericData.hashCode(Object, Schema)`.

#### skipLong

    public static int skipLong(byte[] bytes,
                               int start)

Skip a binary-encoded long, returning the position after it.

#### encodeBoolean

    public static int encodeBoolean(boolean b,
                                    byte[] buf,
                                    int pos)

Encode a boolean to the byte array at the given position. Will throw IndexOutOfBounds if the position is not valid.

Returns:
  The number of bytes written to the buffer, 1.

#### encodeInt

    public static int encodeInt(int n,
                                byte[] buf,
                                int pos)

Encode an integer to the byte array at the given position. Will throw IndexOutOfBounds if it overflows. Users should ensure that there are at least 5 bytes left in the buffer before calling this method.

Returns:
  The number of bytes written to the buffer, between 1 and 5.

#### encodeLong

    public static int encodeLong(long n,
                                 byte[] buf,
                                 int pos)

Encode a long to the byte array at the given position. Will throw IndexOutOfBounds if it overflows. Users should ensure that there are at least 10 bytes left in the buffer before calling this method.

Returns:
  The number of bytes written to the buffer, between 1 and 10.

#### encodeFloat

    public static int encodeFloat(float f,
                                  byte[] buf,
                                  int pos)

Encode a float to the byte array at the given position. Will throw IndexOutOfBounds if it overflows. Users should ensure that there are at least 4 bytes left in the buffer before calling this method.

Returns:
  Returns the number of bytes written to the buffer, 4.

#### encodeDouble

    public static int encodeDouble(double d,
                                   byte[] buf,
                                   int pos)

Encode a double to the byte array at the given position. Will throw IndexOutOfBounds if it overflows. Users should ensure that there are at least 8 bytes left in the buffer before calling this method.

Returns:
  Returns the number of bytes written to the buffer, 8.