Package org.eclipse.jetty.util
Class Utf8StringBuffer
java.lang.Object
org.eclipse.jetty.util.Utf8Appendable
org.eclipse.jetty.util.Utf8StringBuffer
- All Implemented Interfaces:
CharsetStringBuilder
UTF-8 StringBuffer.
This class wraps a standard
StringBuffer
and provides methods to append
UTF-8 encoded bytes, that are converted into characters.
This class is stateful and up to 4 calls to Utf8Appendable.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/-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.Utf8Appendable
Utf8Appendable.NotUtf8Exception
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.CharsetStringBuilder
CharsetStringBuilder.DecoderStringBuilder, CharsetStringBuilder.Iso8859StringBuilder, CharsetStringBuilder.UsAsciiStringBuilder
-
Field Summary
Fields inherited from class org.eclipse.jetty.util.Utf8Appendable
_appendable, _state, LOG, REPLACEMENT, REPLACEMENT_UTF8
-
Constructor Summary
-
Method Summary
Methods inherited from class org.eclipse.jetty.util.Utf8Appendable
append, append, append, append, append, append, append, append, appendByte, checkState, isUtf8SequenceComplete, takePartialString, toReplacedString
-
Constructor Details
-
Utf8StringBuffer
public Utf8StringBuffer() -
Utf8StringBuffer
public Utf8StringBuffer(int capacity)
-
-
Method Details
-
length
public int length()- Specified by:
length
in classUtf8Appendable
-
reset
public void reset()- Overrides:
reset
in classUtf8Appendable
-
getPartialString
- Specified by:
getPartialString
in classUtf8Appendable
- Returns:
- The UTF8 so far decoded, ignoring partial code points
-
getStringBuffer
-
toString
-
takeString
- Throws:
CharacterCodingException
-