Mercurial Hosting > luan
comparison src/org/eclipse/jetty/util/Utf8StringBuilder.java @ 802:3428c60d7cfc
replace jetty jars with source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 07 Sep 2016 21:15:48 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
801:6a21393191c1 | 802:3428c60d7cfc |
---|---|
1 // | |
2 // ======================================================================== | |
3 // Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. | |
4 // ------------------------------------------------------------------------ | |
5 // All rights reserved. This program and the accompanying materials | |
6 // are made available under the terms of the Eclipse Public License v1.0 | |
7 // and Apache License v2.0 which accompanies this distribution. | |
8 // | |
9 // The Eclipse Public License is available at | |
10 // http://www.eclipse.org/legal/epl-v10.html | |
11 // | |
12 // The Apache License v2.0 is available at | |
13 // http://www.opensource.org/licenses/apache2.0.php | |
14 // | |
15 // You may elect to redistribute this code under either of these licenses. | |
16 // ======================================================================== | |
17 // | |
18 | |
19 package org.eclipse.jetty.util; | |
20 | |
21 | |
22 /* ------------------------------------------------------------ */ | |
23 /** UTF-8 StringBuilder. | |
24 * | |
25 * This class wraps a standard {@link java.lang.StringBuilder} and provides methods to append | |
26 * UTF-8 encoded bytes, that are converted into characters. | |
27 * | |
28 * This class is stateful and up to 4 calls to {@link #append(byte)} may be needed before | |
29 * state a character is appended to the string buffer. | |
30 * | |
31 * The UTF-8 decoding is done by this class and no additional buffers or Readers are used. | |
32 * The UTF-8 code was inspired by http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ | |
33 * | |
34 */ | |
35 public class Utf8StringBuilder extends Utf8Appendable | |
36 { | |
37 final StringBuilder _buffer; | |
38 | |
39 public Utf8StringBuilder() | |
40 { | |
41 super(new StringBuilder()); | |
42 _buffer=(StringBuilder)_appendable; | |
43 } | |
44 | |
45 public Utf8StringBuilder(int capacity) | |
46 { | |
47 super(new StringBuilder(capacity)); | |
48 _buffer=(StringBuilder)_appendable; | |
49 } | |
50 | |
51 @Override | |
52 public int length() | |
53 { | |
54 return _buffer.length(); | |
55 } | |
56 | |
57 @Override | |
58 public void reset() | |
59 { | |
60 super.reset(); | |
61 _buffer.setLength(0); | |
62 } | |
63 | |
64 public StringBuilder getStringBuilder() | |
65 { | |
66 checkState(); | |
67 return _buffer; | |
68 } | |
69 | |
70 @Override | |
71 public String toString() | |
72 { | |
73 checkState(); | |
74 return _buffer.toString(); | |
75 } | |
76 | |
77 | |
78 } |