
cdc.util.tuples.CTuple4 Maven / Gradle / Ivy
package cdc.util.tuples;
/**
* Tuple of 4 comparable values.
*
* @author Damien Carbonne
*
* @param Value 0 type.
* @param Value 1 type.
* @param Value 2 type.
* @param Value 3 type.
*/
public class CTuple4, T1 extends Comparable super T1>, T2 extends Comparable super T2>, T3 extends Comparable super T3>> extends Tuple4
implements CTuple> {
public CTuple4(T0 value0,
T1 value1,
T2 value2,
T3 value4) {
super(value0,
value1,
value2,
value4);
}
@Override
public Comparable> getValue(int index) {
return (Comparable>) super.getValue(index);
}
@Override
public int compareTo(CTuple4 other) {
final int cmp0 = CTuple.compare(value0, other.value0);
if (cmp0 == 0) {
final int cmp1 = CTuple.compare(value1, other.value1);
if (cmp1 == 0) {
final int cmp2 = CTuple.compare(value2, other.value2);
if (cmp2 == 0) {
return CTuple.compare(value3, other.value3);
} else {
return cmp2;
}
} else {
return cmp1;
}
} else {
return cmp0;
}
}
@Override
public boolean equals(Object other) {
return super.equals(other);
}
@Override
public int hashCode() {
return super.hashCode();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy