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