Class ByteBuilder

  • All Implemented Interfaces:
    java.lang.Appendable, java.lang.CharSequence

    public class ByteBuilder
    extends java.lang.Object
    implements java.lang.CharSequence, java.lang.Appendable
    Similar to a StringBuilder, but its internal buffer is a byte[] with one entry for each character, so it can only correctly append single-byte characters.
    Version:
    $Id: ByteBuilder.java 879 2008-01-31 04:23:43Z twobeers $
    Author:
    Joseph Heled
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteBuilder​(int maxCapacity)
      Constructs a ByteBuilder that will never grow beyond maxCapacity bytes in length.
    • Constructor Detail

      • ByteBuilder

        public ByteBuilder​(int maxCapacity)
        Constructs a ByteBuilder that will never grow beyond maxCapacity bytes in length. If you don't want to limit the size this ByteBuilder can grow to, you should pass in Integer.MAX_VALUE here
        Parameters:
        maxCapacity - The maximum, NOT the initial capacity of this ByteBuilder
    • Method Detail

      • isCharacterAscii

        public static boolean isCharacterAscii​(char c)
      • append

        public ByteBuilder append​(char c)
        Appends an ASCII character (see isCharacterAscii(char)) to this ByteBuilder.
        Specified by:
        append in interface java.lang.Appendable
        Parameters:
        c - ASCII character to append
        Returns:
        this ByteBuilder
        Throws:
        java.lang.IllegalArgumentException - if c is not an ASCII character
      • append

        public ByteBuilder append​(java.lang.CharSequence charSequence)
                           throws java.io.IOException
        Appends an ASCII CharSequence to this ByteBuilder.
        Specified by:
        append in interface java.lang.Appendable
        Parameters:
        charSequence - ASCII CharSequence to append
        Returns:
        this ByteBuilder
        Throws:
        java.lang.IllegalArgumentException - if charSequence contains non-ASCII characters
        java.io.IOException
      • append

        public ByteBuilder append​(java.lang.CharSequence csq,
                                  int start,
                                  int end)
                           throws java.io.IOException
        Specified by:
        append in interface java.lang.Appendable
        Throws:
        java.io.IOException
      • 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 java.lang.CharSequence 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