org.apache.avro.io
Class BinaryData

java.lang.Object
  extended by org.apache.avro.io.BinaryData

public class BinaryData
extends Object

Utilities for binary-encoded data.


Method Summary
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.


Copyright © 2011 The Apache Software Foundation. All Rights Reserved.