// -- Happy Computing!\r
//\r
package com.stevesoft.pat;\r
-import java.util.Hashtable;\r
+\r
+import java.util.*;\r
\r
/** Simple custom patterns. See\r
<a href="http://javaregex.com/code/deriv2.java.html">deriv2.java</a>\r
in the test directory.\r
@see com.stevesoft.pat.CustomEndpoint\r
*/\r
-class Custom extends PatternSub {\r
- String select;\r
- Validator v;\r
- int start;\r
- Custom(String s) {\r
- select = s;\r
- v = (Validator)Regex.validators.get(s);\r
- }\r
- public int matchInternal(int pos,Pthings pt) {\r
- start = pos;\r
- return sub.matchInternal(pos,pt);\r
- }\r
- public String toString() {\r
- String a = v.argsave == null ? "" : ":"+v.argsave;\r
- return "(??"+select+a+")"+nextString();\r
- }\r
- public patInt minChars() { return v.minChars(); }\r
- public patInt maxChars() { return v.maxChars(); }\r
- Pattern clone1(Hashtable h) {\r
- Custom c = new Custom(select);\r
- h.put(c,c);\r
- h.put(this,c);\r
- c.sub = sub.clone(h);\r
- return c;\r
- }\r
+class Custom\r
+ extends PatternSub\r
+{\r
+ String select;\r
+ Validator v;\r
+ int start;\r
+ Custom(String s)\r
+ {\r
+ select = s;\r
+ v = (Validator) Regex.validators.get(s);\r
+ }\r
+\r
+ public int matchInternal(int pos, Pthings pt)\r
+ {\r
+ start = pos;\r
+ return sub.matchInternal(pos, pt);\r
+ }\r
+\r
+ public String toString()\r
+ {\r
+ String a = v.argsave == null ? "" : ":" + v.argsave;\r
+ return "(??" + select + a + ")" + nextString();\r
+ }\r
+\r
+ public patInt minChars()\r
+ {\r
+ return v.minChars();\r
+ }\r
+\r
+ public patInt maxChars()\r
+ {\r
+ return v.maxChars();\r
+ }\r
+\r
+ Pattern clone1(Hashtable h)\r
+ {\r
+ Custom c = new Custom(select);\r
+ h.put(c, c);\r
+ h.put(this, c);\r
+ c.sub = sub.clone(h);\r
+ return c;\r
+ }\r
}\r