JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / com / stevesoft / pat / PartialBuffer.js
1 Clazz.declarePackage ("com.stevesoft.pat");\r
2 Clazz.load (["com.stevesoft.pat.StringLike"], "com.stevesoft.pat.PartialBuffer", ["java.lang.StringBuffer"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.off = 0;\r
5 this.allowOverRun = true;\r
6 this.overRun = false;\r
7 this.sb = null;\r
8 Clazz.instantialize (this, arguments);\r
9 }, com.stevesoft.pat, "PartialBuffer", null, com.stevesoft.pat.StringLike);\r
10 Clazz.makeConstructor (c$, \r
11 function (sb) {\r
12 this.sb = sb;\r
13 }, "StringBuffer");\r
14 Clazz.overrideMethod (c$, "charAt", \r
15 function (n) {\r
16 n += this.off;\r
17 if (n == this.sb.length ()) {\r
18 this.overRun = true;\r
19 return String.fromCharCode (0);\r
20 }return this.sb.charAt (n);\r
21 }, "~N");\r
22 Clazz.overrideMethod (c$, "length", \r
23 function () {\r
24 return this.allowOverRun ? this.sb.length () + 1 : this.sb.length ();\r
25 });\r
26 Clazz.overrideMethod (c$, "indexOf", \r
27 function (c) {\r
28 for (var i = 0; i < this.sb.length (); i++) {\r
29 if (this.sb.charAt (i) == c) {\r
30 return i;\r
31 }}\r
32 return -1;\r
33 }, "~S");\r
34 Clazz.overrideMethod (c$, "unwrap", \r
35 function () {\r
36 return this.sb;\r
37 });\r
38 Clazz.overrideMethod (c$, "substring", \r
39 function (i1, i2) {\r
40 var sb =  new StringBuffer (i2 - i1);\r
41 for (var i = i1; i < i2; i++) {\r
42 sb.append (this.charAt (i));\r
43 }\r
44 return sb.toString ();\r
45 }, "~N,~N");\r
46 Clazz.overrideMethod (c$, "newStringBufferLike", \r
47 function () {\r
48 return null;\r
49 });\r
50 });\r