1 Clazz.declarePackage ("jalview.util");
2 Clazz.load (null, "jalview.util.ShiftList", ["java.util.ArrayList"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 Clazz.instantialize (this, arguments);
6 }, jalview.util, "ShiftList");
7 Clazz.makeConstructor (c$,
9 this.shifts = new java.util.ArrayList ();
11 Clazz.defineMethod (c$, "addShift",
12 function (pos, shift) {
16 while (sidx < this.shifts.size () && (rshift = this.shifts.get (sidx))[0] < pos) {
19 if (sidx == this.shifts.size ()) {
20 this.shifts.add (sidx, Clazz.newIntArray (-1, [pos, shift]));
24 Clazz.defineMethod (c$, "shift",
26 if (this.shifts.size () == 0) {
31 while (sidx < this.shifts.size () && (rshift = (this.shifts.get (sidx++)))[0] <= pos) {
36 Clazz.defineMethod (c$, "clear",
40 Clazz.defineMethod (c$, "getInverse",
42 var inverse = new jalview.util.ShiftList ();
44 if (this.shifts != null) {
45 for (var sh, $sh = this.shifts.iterator (); $sh.hasNext () && ((sh = $sh.next ()) || true);) {
47 inverse.shifts.add ( Clazz.newIntArray (-1, [sh[0], -sh[1]]));
51 c$.parseMap = Clazz.defineMethod (c$, "parseMap",
54 if (gapMap != null && gapMap.length > 0) {
55 shiftList = new jalview.util.ShiftList ();
56 for (var i = 0, p = 0; i < gapMap.length; p++, i++) {
58 shiftList.addShift (p, gapMap[i] - p);
63 Clazz.defineMethod (c$, "getShifts",