-//\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
-import java.util.Hashtable;\r
-\r
-/** This class matches a single character. */\r
-class oneChar extends Pattern {\r
- char c,altc,altc2;\r
- int mask;\r
- public oneChar(char ci) {\r
- c = ci;\r
- char cu,cl,ct;\r
- cu = CaseMgr.toUpperCase(c);\r
- cl = CaseMgr.toLowerCase(c);\r
- ct = CaseMgr.toTitleCase(c);\r
- if(c == cu) {\r
- altc = cl;\r
- altc2 = ct;\r
- } else if(c == cl) {\r
- altc = cu;\r
- altc2 = ct;\r
- } else {\r
- altc = cl;\r
- altc2 = cu;\r
- }\r
- mask = c & altc & altc2;\r
- }\r
- public int matchInternal(int pos,Pthings pt) {\r
- char p;\r
- int ret=-1;\r
- if (pos < pt.src.length() && !Masked(pos,pt)\r
- && ((p=pt.src.charAt(pos))==c ||\r
- (pt.ignoreCase&& (p==altc||p==altc2) ) ))\r
- ret = nextMatch(pos+1,pt);\r
- return ret;\r
- }\r
- public String toString() {\r
- return protect(""+c,PROTECT_THESE,ESC)+nextString();\r
- }\r
- public patInt minChars() { return new patInt(1); }\r
- public patInt maxChars() { return new patInt(1); }\r
- Pattern clone1(Hashtable h) { return new oneChar(c); }\r
-};\r
+//
+// This software is now distributed according to
+// the Lesser Gnu Public License. Please see
+// http://www.gnu.org/copyleft/lesser.txt for
+// the details.
+// -- Happy Computing!
+//
+package com.stevesoft.pat;
+
+import java.util.Hashtable;
+
+/** This class matches a single character. */
+class oneChar extends Pattern
+{
+ char c, altc, altc2;
+
+ int mask;
+
+ public oneChar(char ci)
+ {
+ c = ci;
+ char cu, cl, ct;
+ cu = CaseMgr.toUpperCase(c);
+ cl = CaseMgr.toLowerCase(c);
+ ct = CaseMgr.toTitleCase(c);
+ if (c == cu)
+ {
+ altc = cl;
+ altc2 = ct;
+ }
+ else if (c == cl)
+ {
+ altc = cu;
+ altc2 = ct;
+ }
+ else
+ {
+ altc = cl;
+ altc2 = cu;
+ }
+ mask = c & altc & altc2;
+ }
+
+ public int matchInternal(int pos, Pthings pt)
+ {
+ char p;
+ int ret = -1;
+ if (pos < pt.src.length()
+ && !Masked(pos, pt)
+ && ((p = pt.src.charAt(pos)) == c || (pt.ignoreCase && (p == altc || p == altc2))))
+ {
+ ret = nextMatch(pos + 1, pt);
+ }
+ return ret;
+ }
+
+ public String toString()
+ {
+ return protect("" + c, PROTECT_THESE, ESC) + nextString();
+ }
+
+ public patInt minChars()
+ {
+ return new patInt(1);
+ }
+
+ public patInt maxChars()
+ {
+ return new patInt(1);
+ }
+
+ Pattern clone1(Hashtable h)
+ {
+ return new oneChar(c);
+ }
+};