All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fireflysource.common.string.Utf8StringBuilder Maven / Gradle / Ivy

There is a newer version: 5.0.2
Show newest version
package com.fireflysource.common.string;

/**
 * UTF-8 StringBuilder.
 * 

* This class wraps a standard {@link StringBuilder} and provides * methods to append UTF-8 encoded bytes, that are converted into characters. *

* This class is stateful and up to 4 calls to {@link #append(byte)} may be * needed before state a character is appended to the string buffer. *

* The UTF-8 decoding is done by this class and no additional buffers or Readers * are used. The UTF-8 code was inspired by * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ */ public class Utf8StringBuilder extends Utf8Appendable { final StringBuilder buffer; public Utf8StringBuilder() { super(new StringBuilder()); buffer = (StringBuilder) appendable; } public Utf8StringBuilder(int capacity) { super(new StringBuilder(capacity)); buffer = (StringBuilder) appendable; } @Override public int length() { return buffer.length(); } @Override public void reset() { super.reset(); buffer.setLength(0); } public StringBuilder getStringBuilder() { checkState(); return buffer; } @Override public String toString() { checkState(); return buffer.toString(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy