Package 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

Modifier and Type
Method
Description
`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 Details

### 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.