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
6 // -- Happy Computing!
\r
8 package com.stevesoft.pat;
\r
12 /** This class matches a single character. */
\r
16 char c, altc, altc2;
\r
18 public oneChar(char ci)
\r
22 cu = CaseMgr.toUpperCase(c);
\r
23 cl = CaseMgr.toLowerCase(c);
\r
24 ct = CaseMgr.toTitleCase(c);
\r
40 mask = c & altc & altc2;
\r
43 public int matchInternal(int pos, Pthings pt)
\r
47 if (pos < pt.src.length() && !Masked(pos, pt)
\r
48 && ( (p = pt.src.charAt(pos)) == c ||
\r
49 (pt.ignoreCase && (p == altc || p == altc2))))
\r
51 ret = nextMatch(pos + 1, pt);
\r
56 public String toString()
\r
58 return protect("" + c, PROTECT_THESE, ESC) + nextString();
\r
61 public patInt minChars()
\r
63 return new patInt(1);
\r
66 public patInt maxChars()
\r
68 return new patInt(1);
\r
71 Pattern clone1(Hashtable h)
\r
73 return new oneChar(c);
\r