19f268e6706e2bb24c793c446b6871fc4d6fa98c
[jalview.git] / src / com / stevesoft / pat / wrap / CharArrayBufferWrap.java
1 package //\r
2 // This software is now distributed according to\r
3 // the Lesser Gnu Public License.  Please see\r
4 // http://www.gnu.org/copyleft/lesser.txt for\r
5 // the details.\r
6 //    -- Happy Computing!\r
7 //\r
8     com.stevesoft.pat.wrap;\r
9 \r
10 import com.stevesoft.pat.*;\r
11 \r
12 /** Allows the outcome of a replaceAll() or replaceFirst()\r
13     to be an array of characters rather than a String.\r
14  */\r
15 public class CharArrayBufferWrap\r
16     implements BasicStringBufferLike\r
17 {\r
18   StringBuffer sb = new StringBuffer();\r
19   public void append(char c)\r
20   {\r
21     sb.append(c);\r
22   }\r
23 \r
24   public void append(String s)\r
25   {\r
26     sb.append(s);\r
27   }\r
28 \r
29   public StringLike toStringLike()\r
30   {\r
31     char[] ca = new char[sb.length()];\r
32     for (int i = 0; i < ca.length; i++)\r
33     {\r
34       ca[i] = sb.charAt(i);\r
35     }\r
36     return new CharArrayWrap(ca);\r
37   }\r
38 \r
39   public int length()\r
40   {\r
41     return sb.length();\r
42   }\r
43 \r
44   public String toString()\r
45   {\r
46     return sb.toString();\r
47   }\r
48 \r
49   public Object unwrap()\r
50   {\r
51     return sb;\r
52   }\r
53 }\r