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