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