Class ByteArrayCharSequence

  • All Implemented Interfaces:
    java.lang.CharSequence

    public class ByteArrayCharSequence
    extends java.lang.Object
    implements java.lang.CharSequence
    A CharSequence view onto a byte array of UTF-8-encoded characters, with the proviso that all of the characters were encoded as a single byte in UTF-8. This uses Java's built-in casting from UTF-8 to char primitives.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) byte[] bytes  
      (package private) int end  
      (package private) int start  
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteArrayCharSequence​(byte[] bytes, int start, int end)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      char charAt​(int index)  
      int length()  
      ByteArrayCharSequence subSequence​(int start, int end)  
      static byte[] toSingleByteUtf8Encoding​(java.lang.CharSequence charSequence)
      Encodes a given CharSequence into a byte[] in UTF-8 encoding, with the requirement that it must be possible to represent all characters as a single byte in UTF-8.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.CharSequence

        chars, codePoints
    • Field Detail

      • bytes

        final byte[] bytes
      • start

        final int start
      • end

        final int end
    • Constructor Detail

      • ByteArrayCharSequence

        public ByteArrayCharSequence​(byte[] bytes,
                                     int start,
                                     int end)
    • Method Detail

      • length

        public int length()
        Specified by:
        length in interface java.lang.CharSequence
      • charAt

        public char charAt​(int index)
        Specified by:
        charAt in interface java.lang.CharSequence
      • subSequence

        public ByteArrayCharSequence subSequence​(int start,
                                                 int end)
        Specified by:
        subSequence in interface java.lang.CharSequence
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface java.lang.CharSequence
        Overrides:
        toString in class java.lang.Object
      • toSingleByteUtf8Encoding

        public static byte[] toSingleByteUtf8Encoding​(java.lang.CharSequence charSequence)
        Encodes a given CharSequence into a byte[] in UTF-8 encoding, with the requirement that it must be possible to represent all characters as a single byte in UTF-8. Otherwise an exception will be thrown.
        Parameters:
        charSequence - The CharSequence to encode
        Returns:
        A new byte[] encoding characters from the given CharSequence in UTF-8
        Throws:
        java.lang.IllegalStateException - If the characters cannot be encoded as described