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