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.