JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / src / com / stevesoft / pat / wrap / CharArrayWrap.java
1 //
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 package com.stevesoft.pat.wrap;
9
10 import com.stevesoft.pat.*;
11
12 /**
13  * This provides a wrapper for a char array so that it can be searched by Regex.
14  */
15 public class CharArrayWrap implements StringLike
16 {
17   char[] ca;
18
19   public char[] getCharArray()
20   {
21     return ca;
22   }
23
24   public CharArrayWrap(char[] ca)
25   {
26     this.ca = ca;
27   }
28
29   public String toString()
30   {
31     return new String(ca);
32   }
33
34   public char charAt(int i)
35   {
36     return ca[i];
37   }
38
39   public int length()
40   {
41     return ca.length;
42   }
43
44   public String substring(int i1, int i2)
45   {
46     StringBuffer sb = new StringBuffer();
47     for (int i = i1; i < i2; i++)
48     {
49       sb.append(ca[i]);
50     }
51     return sb.toString();
52   }
53
54   public Object unwrap()
55   {
56     return ca;
57   }
58
59   public BasicStringBufferLike newStringBufferLike()
60   {
61     return new CharArrayBufferWrap();
62   }
63
64   public int indexOf(char c)
65   {
66     for (int i = 0; i < ca.length; i++)
67     {
68       if (ca[i] == c)
69       {
70         return i;
71       }
72     }
73     return -1;
74   }
75 }