JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / com / stevesoft / pat / RegRes.js
1 Clazz.declarePackage ("com.stevesoft.pat");\r
2 Clazz.load (null, "com.stevesoft.pat.RegRes", ["java.lang.StringBuffer"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.marks = null;\r
5 this.didMatch_ = false;\r
6 this.src = null;\r
7 this.charsMatched_ = 0;\r
8 this.matchFrom_ = 0;\r
9 this.numSubs_ = 0;\r
10 Clazz.instantialize (this, arguments);\r
11 }, com.stevesoft.pat, "RegRes");\r
12 Clazz.defineMethod (c$, "getString", \r
13 function () {\r
14 return this.src.toString ();\r
15 });\r
16 Clazz.defineMethod (c$, "getStringLike", \r
17 function () {\r
18 return this.src;\r
19 });\r
20 Clazz.overrideMethod (c$, "toString", \r
21 function () {\r
22 var sb =  new StringBuffer ();\r
23 sb.append ("match=" + this.matchedFrom () + ":" + this.charsMatched ());\r
24 if (!this.didMatch ()) {\r
25 return sb.toString ();\r
26 }for (var i = 0; i < this.numSubs (); i++) {\r
27 var n = i + 1;\r
28 sb.append (" sub(" + n + ")=" + this.matchedFromI (n) + ":" + this.charsMatchedI (n));\r
29 }\r
30 return sb.toString ();\r
31 });\r
32 Clazz.defineMethod (c$, "copyOutOf", \r
33 function (r) {\r
34 if (r.marks == null) {\r
35 this.marks = null;\r
36 } else {\r
37 try {\r
38 this.marks =  Clazz.newIntArray (r.marks.length, 0);\r
39 for (var i = 0; i < this.marks.length; i++) {\r
40 this.marks[i] = r.marks[i];\r
41 }\r
42 } catch (t) {\r
43 }\r
44 }this.didMatch_ = r.didMatch_;\r
45 this.src = r.src;\r
46 this.charsMatched_ = r.charsMatched_;\r
47 this.matchFrom_ = r.matchFrom_;\r
48 this.numSubs_ = r.numSubs_;\r
49 }, "com.stevesoft.pat.RegRes");\r
50 Clazz.defineMethod (c$, "equals", \r
51 function (r) {\r
52 if (this.charsMatched_ != r.charsMatched_ || this.matchFrom_ != r.matchFrom_ || this.didMatch_ != r.didMatch_ || this.numSubs_ != r.numSubs_ || !this.src.unwrap ().equals (r.src.unwrap ())) {\r
53 return false;\r
54 }if (this.marks == null && r.marks != null) {\r
55 return false;\r
56 }if (this.marks != null && r.marks == null) {\r
57 return false;\r
58 }for (var i = 1; i <= this.numSubs_; i++) {\r
59 if (this.matchedFromI (i) != r.matchedFromI (i)) {\r
60 return false;\r
61 } else if (this.charsMatchedI (i) != r.charsMatchedI (i)) {\r
62 return false;\r
63 }}\r
64 return true;\r
65 }, "com.stevesoft.pat.RegRes");\r
66 Clazz.defineMethod (c$, "stringMatched", \r
67 function () {\r
68 var mf = this.matchedFrom ();\r
69 var cm = this.charsMatched ();\r
70 return !this.didMatch_ || mf < 0 || cm < 0 ? null : this.src.substring (mf, mf + cm);\r
71 });\r
72 Clazz.defineMethod (c$, "matchedFromI", \r
73 function (i) {\r
74 if (this.marks == null || i > this.numSubs_) {\r
75 return -1;\r
76 }return this.marks[i];\r
77 }, "~N");\r
78 Clazz.defineMethod (c$, "charsMatchedI", \r
79 function (i) {\r
80 if (this.marks == null || i > this.numSubs_ || !this.didMatch_) {\r
81 return -1;\r
82 }var mf = this.matchedFromI (i);\r
83 return mf < 0 ? -1 : this.marks[i + this.numSubs_] - this.matchedFromI (i);\r
84 }, "~N");\r
85 Clazz.defineMethod (c$, "matchedToI", \r
86 function (i) {\r
87 if (this.marks == null || i > this.numSubs_ || !this.didMatch_) {\r
88 return -1;\r
89 }return this.marks[i + this.numSubs_];\r
90 }, "~N");\r
91 Clazz.defineMethod (c$, "stringMatchedI", \r
92 function (i) {\r
93 var mf = this.matchedFromI (i);\r
94 var cm = this.charsMatchedI (i);\r
95 return !this.didMatch_ || mf < 0 || cm < 0 ? null : this.src.substring (mf, mf + cm);\r
96 }, "~N");\r
97 Clazz.defineMethod (c$, "left", \r
98 function () {\r
99 var mf = this.matchedFrom ();\r
100 return !this.didMatch_ || (mf < 0) ? null : this.src.substring (0, mf);\r
101 });\r
102 Clazz.defineMethod (c$, "leftI", \r
103 function (i) {\r
104 var mf = this.matchedFromI (i);\r
105 return !this.didMatch_ || (mf < 0) ? null : this.src.substring (0, mf);\r
106 }, "~N");\r
107 Clazz.defineMethod (c$, "right", \r
108 function () {\r
109 var mf = this.matchedFrom ();\r
110 var cm = this.charsMatched ();\r
111 return !this.didMatch_ || mf < 0 || cm < 0 ? null : this.src.substring (mf + cm, this.src.length ());\r
112 });\r
113 Clazz.defineMethod (c$, "rightI", \r
114 function (i) {\r
115 var mf = this.matchedFromI (i);\r
116 var cm = this.charsMatchedI (i);\r
117 return !this.didMatch_ || mf < 0 || cm < 0 ? null : this.src.substring (mf + cm, this.src.length ());\r
118 }, "~N");\r
119 Clazz.defineMethod (c$, "matchedFrom", \r
120 function () {\r
121 return !this.didMatch_ ? -1 : this.matchFrom_;\r
122 });\r
123 Clazz.defineMethod (c$, "charsMatched", \r
124 function () {\r
125 return !this.didMatch_ || this.matchFrom_ < 0 ? -1 : this.charsMatched_;\r
126 });\r
127 Clazz.defineMethod (c$, "matchedTo", \r
128 function () {\r
129 return !this.didMatch_ ? -1 : this.matchFrom_ + this.charsMatched_;\r
130 });\r
131 Clazz.defineMethod (c$, "numSubs", \r
132 function () {\r
133 return this.numSubs_;\r
134 });\r
135 Clazz.defineMethod (c$, "didMatch", \r
136 function () {\r
137 return this.didMatch_;\r
138 });\r
139 Clazz.defineMethod (c$, "matchFrom", \r
140 function () {\r
141 return this.matchedFrom ();\r
142 });\r
143 Clazz.defineMethod (c$, "substring", \r
144 function () {\r
145 return this.stringMatched ();\r
146 });\r
147 Clazz.defineMethod (c$, "matchFromI", \r
148 function (i) {\r
149 return this.matchedFromI (i);\r
150 }, "~N");\r
151 Clazz.defineMethod (c$, "substringI", \r
152 function (i) {\r
153 return this.stringMatchedI (i);\r
154 }, "~N");\r
155 });\r