97843580dc8a223f80e113393bb6ea115b76884d
[jalview.git] / src / com / stevesoft / pat / Start.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;\r
9 import java.util.Hashtable;\r
10 \r
11 /** The '^' or the '\A' Pattern, matches the start of a string. */\r
12 class Start extends Pattern {\r
13     boolean retIsStart;\r
14     Start(boolean b) { retIsStart = b; }\r
15     public int matchInternal(int pos,Pthings pt) {\r
16         if(retIsStart\r
17         && pt.mFlag\r
18         && pos > 0 && pt.src.charAt(pos-1)=='\n')\r
19             return nextMatch(pos,pt);\r
20         if(pos == 0) return nextMatch(pos,pt);\r
21         return -1;\r
22     }\r
23     public String toString() {\r
24         if(retIsStart)\r
25             return "^"+nextString();\r
26         else\r
27             return "\\A"+nextString();\r
28     }\r
29     public patInt maxChars() { return new patInt(0); }\r
30     Pattern clone1(Hashtable h) { return new Start(retIsStart); }\r
31 };\r