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