e490cc9da64d9633cca70d26a3e2002da8188c5f
[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 implements StringLike {\r
15     char[] ca;\r
16     public char[] getCharArray() { return ca; }\r
17     public CharArrayWrap(char[] ca) { this.ca = ca; }\r
18     public String toString() {\r
19       return new String(ca);\r
20     }\r
21     public char charAt(int i) { return ca[i]; }\r
22     public int length() { return ca.length; }\r
23     public String substring(int i1,int i2) {\r
24         StringBuffer sb = new StringBuffer();\r
25         for(int i=i1;i<i2;i++)\r
26             sb.append(ca[i]);\r
27         return sb.toString();\r
28     }\r
29     public Object unwrap() { return ca; }\r
30     public BasicStringBufferLike newStringBufferLike() {\r
31       return new CharArrayBufferWrap();\r
32     }\r
33     public int indexOf(char c) {\r
34       for(int i=0;i<ca.length;i++)\r
35         if(ca[i] == c)\r
36           return i;\r
37       return -1;\r
38     }\r
39 }\r