- */\r
-package org.simantics.scl.runtime.tuple;\r
-\r
-public class Tuple2 implements Tuple {\r
- public final Object c0;\r
- public final Object c1;\r
-\r
- public Tuple2(Object c0, Object c1) {\r
- this.c0 = c0;\r
- this.c1 = c1;\r
- }\r
-\r
- public int length() {\r
- return 2;\r
- }\r
-\r
- public Object get(int id) {\r
- switch(id) {\r
- case 0: return c0;\r
- case 1: return c1;\r
- default: throw new IndexOutOfBoundsException();\r
- }\r
- }\r
-\r
- public Object[] toArray() {\r
- return new Object[] { c0, c1 };\r
- }\r
-\r
- @Override\r
- public boolean equals(Object obj) {\r
- if(obj == this)\r
- return true;\r
- if(obj == null || obj.getClass() != getClass())\r
- return false;\r
- Tuple2 tuple = (Tuple2)obj;\r
- if(c0 == null) {\r
- if(tuple.c0 != null)\r
- return false;\r
- }\r
- else if(!c0.equals(tuple.c0))\r
- return false;\r
- if(c1 == null) {\r
- if(tuple.c1 != null)\r
- return false;\r
- }\r
- else if(!c1.equals(tuple.c1))\r
- return false;\r
- return true;\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- int result = c0 == null ? 0 : c0.hashCode();\r
- result *= 31;\r
- if(c1 != null)\r
- result += c1.hashCode();\r
- return result;\r
- }\r
-\r
- @Override\r
- public String toString() {\r
- StringBuilder b = new StringBuilder();\r
- b.append('(');\r
- b.append(c0);\r
- b.append(',');\r
- b.append(c1);\r
- b.append(')');\r
- return b.toString();\r
- }\r
-}\r
+ */
+package org.simantics.scl.runtime.tuple;
+
+public class Tuple2 implements Tuple {
+ public final Object c0;
+ public final Object c1;
+
+ public Tuple2(Object c0, Object c1) {
+ this.c0 = c0;
+ this.c1 = c1;
+ }
+
+ public int length() {
+ return 2;
+ }
+
+ public Object get(int id) {
+ switch(id) {
+ case 0: return c0;
+ case 1: return c1;
+ default: throw new IndexOutOfBoundsException();
+ }
+ }
+
+ public Object[] toArray() {
+ return new Object[] { c0, c1 };
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if(obj == this)
+ return true;
+ if(obj == null || obj.getClass() != getClass())
+ return false;
+ Tuple2 tuple = (Tuple2)obj;
+ if(c0 == null) {
+ if(tuple.c0 != null)
+ return false;
+ }
+ else if(!c0.equals(tuple.c0))
+ return false;
+ if(c1 == null) {
+ if(tuple.c1 != null)
+ return false;
+ }
+ else if(!c1.equals(tuple.c1))
+ return false;
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = c0 == null ? 0 : c0.hashCode();
+ result *= 31;
+ if(c1 != null)
+ result += c1.hashCode();
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder b = new StringBuilder();
+ b.append('(');
+ b.append(c0);
+ b.append(',');
+ b.append(c1);
+ b.append(')');
+ return b.toString();
+ }
+}