JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / jalview / datamodel / AlignmentOrder.js
1 Clazz.declarePackage ("jalview.datamodel");\r
2 Clazz.load (null, "jalview.datamodel.AlignmentOrder", ["java.lang.Error", "java.util.ArrayList", "$.Arrays"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.Type = 0;\r
5 this.Name = null;\r
6 this.Order = null;\r
7 Clazz.instantialize (this, arguments);\r
8 }, jalview.datamodel, "AlignmentOrder");\r
9 Clazz.makeConstructor (c$, \r
10 function () {\r
11 });\r
12 Clazz.makeConstructor (c$, \r
13 function (anOrder) {\r
14 this.Order = anOrder;\r
15 }, "java.util.List");\r
16 Clazz.makeConstructor (c$, \r
17 function (orderFrom) {\r
18 this.Order =  new java.util.ArrayList ();\r
19 for (var seq, $seq = orderFrom.getSequences ().iterator (); $seq.hasNext () && ((seq = $seq.next ()) || true);) {\r
20 this.Order.add (seq);\r
21 }\r
22 }, "jalview.datamodel.AlignmentI");\r
23 Clazz.makeConstructor (c$, \r
24 function (orderFrom) {\r
25 this.Order =  new java.util.ArrayList (java.util.Arrays.asList (orderFrom));\r
26 }, "~A");\r
27 Clazz.defineMethod (c$, "setType", \r
28 function (Type) {\r
29 this.Type = Type;\r
30 }, "~N");\r
31 Clazz.defineMethod (c$, "getType", \r
32 function () {\r
33 return this.Type;\r
34 });\r
35 Clazz.defineMethod (c$, "setName", \r
36 function (Name) {\r
37 this.Name = Name;\r
38 }, "~S");\r
39 Clazz.defineMethod (c$, "getName", \r
40 function () {\r
41 return this.Name;\r
42 });\r
43 Clazz.defineMethod (c$, "setOrder", \r
44 function (Order) {\r
45 this.Order = Order;\r
46 }, "java.util.List");\r
47 Clazz.defineMethod (c$, "getOrder", \r
48 function () {\r
49 return this.Order;\r
50 });\r
51 Clazz.defineMethod (c$, "updateSequence", \r
52 function (oldref, newref) {\r
53 var found = this.Order.indexOf (oldref);\r
54 if (found > -1) {\r
55 this.Order.set (found, newref);\r
56 }return found > -1;\r
57 }, "jalview.datamodel.SequenceI,jalview.datamodel.SequenceI");\r
58 Clazz.defineMethod (c$, "equals", \r
59 function (o) {\r
60 if (o == null || !(Clazz.instanceOf (o, jalview.datamodel.AlignmentOrder))) {\r
61 return false;\r
62 }return this.equals (o, true);\r
63 }, "~O");\r
64 Clazz.defineMethod (c$, "equals", \r
65 function (o, identity) {\r
66 if (o !== this) {\r
67 if (o == null) {\r
68 return false;\r
69 }if (this.Order != null && o.Order != null && this.Order.size () == o.Order.size ()) {\r
70 if (!identity) {\r
71 throw  new Error ("Weak sequenceI equivalence not yet implemented.");\r
72 } else {\r
73 for (var i = 0, j = o.Order.size (); i < j; i++) {\r
74 if (this.Order.get (i) !== o.Order.get (i)) {\r
75 return false;\r
76 }}\r
77 }} else {\r
78 return false;\r
79 }}return true;\r
80 }, "jalview.datamodel.AlignmentOrder,~B");\r
81 Clazz.defineMethod (c$, "isConsistent", \r
82 function (o) {\r
83 return this.isConsistent (o, true);\r
84 }, "jalview.datamodel.AlignmentOrder");\r
85 Clazz.defineMethod (c$, "isConsistent", \r
86 function (o, identity) {\r
87 if (o !== this) {\r
88 if (o == null) {\r
89 return false;\r
90 }if (this.Order != null && o.Order != null) {\r
91 var c;\r
92 var s;\r
93 if (o.Order.size () > this.Order.size ()) {\r
94 c = o.Order;\r
95 s = this.Order;\r
96 } else {\r
97 c = this.Order;\r
98 s = o.Order;\r
99 }if (!identity) {\r
100 throw  new Error ("Weak sequenceI equivalence not yet implemented.");\r
101 } else {\r
102 var last = -1;\r
103 for (var i = 0, j = s.size (); i < j; i++) {\r
104 var pos = c.indexOf (s.get (i));\r
105 if (pos > last) {\r
106 last = pos;\r
107 } else {\r
108 return false;\r
109 }}\r
110 }} else {\r
111 return false;\r
112 }}return true;\r
113 }, "jalview.datamodel.AlignmentOrder,~B");\r
114 Clazz.defineStatics (c$,\r
115 "FILE", 0,\r
116 "MSA", 1,\r
117 "USER", 2);\r
118 });\r