jebl.evolution.io
Class ByteBuilder

java.lang.Object
  extended by jebl.evolution.io.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
ByteBuilder(int maxCapacity)
          Constructs a ByteBuilder that will never grow beyond maxCapacity bytes in length.
 
Method Summary
 ByteBuilder append(char c)
          Appends an ASCII character (see isCharacterAscii(char)) to this ByteBuilder.
 ByteBuilder append(java.lang.CharSequence charSequence)
          Appends an ASCII CharSequence to this ByteBuilder.
 ByteBuilder append(java.lang.CharSequence csq, int start, int end)
           
 char charAt(int index)
           
static boolean isCharacterAscii(char c)
           
 int length()
           
 java.lang.CharSequence subSequence(int start, int end)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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


http://code.google.com/p/jebl2/