Class ByteString

  • All Implemented Interfaces:
    ByteSequence, java.io.Serializable, java.lang.Comparable

    public class ByteString
    extends java.lang.Object
    implements ByteSequence, java.lang.Comparable, java.io.Serializable
    The ByteString class represents strings of bytes.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteString()
      Create a ByteString that represents an empty byte sequence.
      ByteString​(byte[] value)
      Create a ByteString that represents the same byte sequence as that contained in a byte array.
      ByteString​(byte[] value, int offset, int length)
      Create a ByteString that represents the same byte sequence as that contained in a subsequence of a byte array.
      ByteString​(ByteString original)
      Create a ByteString that represents the same byte sequence as that represented by another ByteString.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte byteAt​(int index)
      Returns the byte at the specified index.
      int compareTo​(ByteString otherByteString)  
      int compareTo​(java.lang.Object otherObject)  
      ByteString concat​(ByteString byteString)  
      boolean equals​(java.lang.Object otherObject)  
      byte[] getBytes()
      Returns a byte array containing the bytes in this sequence in the same order as this sequence.
      void getBytes​(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
      Returns a byte array containing the bytes in this sequence in the same order as this sequence and within the bounds given.
      int hashCode()  
      int length()
      Returns the length of this byte sequence.
      ByteSequence subSequence​(int start, int end)
      Returns a new byte sequence that is a subsequence of this sequence.
      ByteString substring​(int begin, int end)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ByteString

        public ByteString()
        Create a ByteString that represents an empty byte sequence.
      • ByteString

        public ByteString​(ByteString original)
        Create a ByteString that represents the same byte sequence as that represented by another ByteString.
        Parameters:
        original - ByteString to copy
      • ByteString

        public ByteString​(byte[] value)
        Create a ByteString that represents the same byte sequence as that contained in a byte array. The byte array is copied and so subsequent modification of the byte array does not affect the ByteString.
        Parameters:
        value - the initial value of the ByteString
      • ByteString

        public ByteString​(byte[] value,
                          int offset,
                          int length)
        Create a ByteString that represents the same byte sequence as that contained in a subsequence of a byte array. The subsequence is copied and so subsequent modification of the byte array does not affect the ByteString.
        Parameters:
        value - the initial value of the ByteString
        offset - the offset in the array for the subsequence
        length - the length of the subsequence
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • byteAt

        public byte byteAt​(int index)
        Description copied from interface: ByteSequence
        Returns the byte at the specified index. An index ranges from zero to length() - 1. The first byte of the sequence is at index zero, the next at index one, and so on, as for array indexing.

        Specified by:
        byteAt in interface ByteSequence
        Parameters:
        index - the index of the character to be returned
        Returns:
        the specified byte
      • length

        public int length()
        Description copied from interface: ByteSequence
        Returns the length of this byte sequence. The length is the number of bytes in the sequence.

        Specified by:
        length in interface ByteSequence
        Returns:
        the number of bytes in this sequence
      • getBytes

        public void getBytes​(int srcBegin,
                             int srcEnd,
                             byte[] dst,
                             int dstBegin)
        Description copied from interface: ByteSequence
        Returns a byte array containing the bytes in this sequence in the same order as this sequence and within the bounds given. The length of the byte array will be equal to srcEnd - srcBegin + 1.

        Specified by:
        getBytes in interface ByteSequence
        Parameters:
        srcBegin - the byte to start copying from
        srcEnd - the byte to end copying at
        dst - the destination to copy the bytes to
        dstBegin - the byte in the destination to begin the copying
      • getBytes

        public byte[] getBytes()
        Description copied from interface: ByteSequence
        Returns a byte array containing the bytes in this sequence in the same order as this sequence. The length of the byte array will be the length of this sequence.

        Specified by:
        getBytes in interface ByteSequence
        Returns:
        a byte array consisting of exactly this sequence of bytes
      • subSequence

        public ByteSequence subSequence​(int start,
                                        int end)
        Description copied from interface: ByteSequence
        Returns a new byte sequence that is a subsequence of this sequence. The subsequence starts with the byte at the specified index and ends with the byte at index end - 1. The length of the returned sequence is end - start, so if start == end then an empty sequence is returned.

        Specified by:
        subSequence in interface ByteSequence
        Parameters:
        start - the start index, inclusive
        end - the end index, exclusive
        Returns:
        the specified subsequence
      • substring

        public ByteString substring​(int begin,
                                    int end)
        Parameters:
        begin -
        end -
        Returns:
        a substring of this ByteString
      • compareTo

        public int compareTo​(java.lang.Object otherObject)
        Specified by:
        compareTo in interface java.lang.Comparable
      • compareTo

        public int compareTo​(ByteString otherByteString)
      • equals

        public boolean equals​(java.lang.Object otherObject)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object