
cdc.util.tuples.CTuple5 Maven / Gradle / Ivy
package cdc.util.tuples;
/**
* Tuple of 5 comparable values.
*
* @author Damien Carbonne
*
* @param Value 0 type.
* @param Value 1 type.
* @param Value 2 type.
* @param Value 3 type.
* @param Value 4 type.
*/
public class CTuple5, T1 extends Comparable super T1>, T2 extends Comparable super T2>, T3 extends Comparable super T3>, T4 extends Comparable super T4>>
extends Tuple5
implements CTuple> {
public CTuple5(T0 value0,
T1 value1,
T2 value2,
T3 value3,
T4 value4) {
super(value0,
value1,
value2,
value3,
value4);
}
@Override
public Comparable> getValue(int index) {
return (Comparable>) super.getValue(index);
}
@Override
public int compareTo(CTuple5 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) {
final int cmp3 = CTuple.compare(value3, other.value3);
if (cmp3 == 0) {
return CTuple.compare(value4, other.value4);
} else {
return cmp3;
}
} 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