needed for applet search
[jalview.git] / src / com / stevesoft / pat / Skip2.java
diff --git a/src/com/stevesoft/pat/Skip2.java b/src/com/stevesoft/pat/Skip2.java
new file mode 100755 (executable)
index 0000000..f2b03ca
--- /dev/null
@@ -0,0 +1,38 @@
+//\r
+// This software is now distributed according to\r
+// the Lesser Gnu Public License.  Please see\r
+// http://www.gnu.org/copyleft/lesser.txt for\r
+// the details.\r
+//    -- Happy Computing!\r
+//\r
+package com.stevesoft.pat;\r
+\r
+/** This is the same as Skip, except it needs a minimum\r
+    of two characters in the initializing String.\r
+    @see com.stevesoft.pat.Skip\r
+    @see com.stevesoft.pat.SkipBMH\r
+    */\r
+public class Skip2 extends Skip {\r
+    int c1,mask1;\r
+    public Skip2(String s,boolean ign,int offset) {\r
+        super(s,ign,offset);\r
+        c1 = s.charAt(1);\r
+        m1 = 2==s.length();\r
+        if(ign) {\r
+            mask1=mkmask(c1);\r
+        } else\r
+            mask1 = 0;\r
+    }\r
+    public int find(StringLike s,int start,int end) {\r
+        if(start > end) return -1;\r
+        start += offset;\r
+        int vend = min(s.length()-2,end+offset);\r
+        for(int i=start;i<=vend;i++)\r
+            if(0 == (s.charAt(i)&mask) && 0 == (s.charAt(i+1)&mask1)) {\r
+                //if(m1||s.regionMatches(ign,i,src,0,src.length()) )\r
+                if(m1||CaseMgr.regionMatches(s,ign,i,src,0,src.length()) )\r
+                    return i-offset;\r
+            }\r
+        return -1;\r
+    }\r
+}\r