Class ByteArray


  • public class ByteArray
    extends Object
    byte array which grows and also supports writing/reading int, double, etc. All non byte operations are big endian.
    • Field Detail

      • DEFAULT_CAPACITY

        public static int DEFAULT_CAPACITY
    • Constructor Detail

      • ByteArray

        public ByteArray()
        Creates a sorted int array with a default initial capacity
      • ByteArray

        public ByteArray​(int capacity)
        Creates an IntArray with a given initial capacity
        Parameters:
        capacity -
    • Method Detail

      • wrap

        public static ByteArray wrap​(byte... array)
        Creates the ByteArray with the backing array
        Parameters:
        array -
        Returns:
        a new object containing all the values from the passed array
      • ensureRemaining

        public void ensureRemaining​(int size)
      • add

        public void add​(byte x)
        add value to the array
        Parameters:
        x - - value to be added
      • addShort

        public void addShort​(short x)
      • addInt

        public void addInt​(int x)
      • addLong

        public void addLong​(long x)
      • add

        public void add​(byte[] v)
      • addDouble

        public void addDouble​(double x)
      • addSizePrefixedProto

        public void addSizePrefixedProto​(com.google.protobuf.MessageLite msg)
        Writes a protobuf message to the buffer. The message will be prefixed by its size in 4 bytes big endian.
        Parameters:
        msg -
      • addSizePrefixedUTF

        public void addSizePrefixedUTF​(String v)
        Writes a string preceded by its size in two bytes big endian.

        The encoded byte array does not contain null characters

        Parameters:
        v -
        See Also:
        DataOutputStream.writeUTF(String)
      • insert

        public void insert​(int pos,
                           byte x)
      • set

        public void set​(int pos,
                        byte x)
      • get

        public byte get()
      • getShort

        public short getShort()
      • getInt

        public int getInt()
      • getLong

        public long getLong()
      • getDouble

        public double getDouble()
      • get

        public void get​(byte[] bp)
      • getSizePrefixedProto

        public <T extends com.google.protobuf.MessageLite.Builder> void getSizePrefixedProto​(T builder)
      • get

        public byte get​(int pos)
        get element at position
        Parameters:
        pos -
        Returns:
        the element at the specified position
      • isEmpty

        public boolean isEmpty()
      • toArray

        public byte[] toArray()
        Returns:
        a copy of the underlying byte array with the current length
      • size

        public int size()
      • indexOf

        public int indexOf​(byte x)
        Returns the index of the first occurrence of the specified element in the array, or -1 if the array does not contain the element.
        Parameters:
        x - element which is searched for
        Returns:
        the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
      • reset

        public void reset()
      • reset

        public void reset​(int length)
      • array

        public byte[] array()
        get the backing array
        Returns:
        the backing array
      • position

        public int position()