Mercurial Hosting > luan
comparison src/org/eclipse/jetty/util/Utf8StringBuffer.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 StringBuffer. | |
24 * | |
25 * This class wraps a standard {@link java.lang.StringBuffer} 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 public class Utf8StringBuffer extends Utf8Appendable | |
35 { | |
36 final StringBuffer _buffer; | |
37 | |
38 public Utf8StringBuffer() | |
39 { | |
40 super(new StringBuffer()); | |
41 _buffer = (StringBuffer)_appendable; | |
42 } | |
43 | |
44 public Utf8StringBuffer(int capacity) | |
45 { | |
46 super(new StringBuffer(capacity)); | |
47 _buffer = (StringBuffer)_appendable; | |
48 } | |
49 | |
50 @Override | |
51 public int length() | |
52 { | |
53 return _buffer.length(); | |
54 } | |
55 | |
56 @Override | |
57 public void reset() | |
58 { | |
59 super.reset(); | |
60 _buffer.setLength(0); | |
61 } | |
62 | |
63 public StringBuffer getStringBuffer() | |
64 { | |
65 checkState(); | |
66 return _buffer; | |
67 } | |
68 | |
69 @Override | |
70 public String toString() | |
71 { | |
72 checkState(); | |
73 return _buffer.toString(); | |
74 } | |
75 } |