All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cdc.util.tuples.CTuple3 Maven / Gradle / Ivy

package cdc.util.tuples;

/**
 * Tuple of 3 comparable values.
 *
 * @author Damien Carbonne
 *
 * @param  Value 0 type.
 * @param  Value 1 type.
 * @param  Value 2 type.
 */
public class CTuple3, T1 extends Comparable, T2 extends Comparable> extends Tuple3 implements CTuple> {
    public CTuple3(T0 value0,
                   T1 value1,
                   T2 value2) {
        super(value0,
              value1,
              value2);
    }

    @Override
    public Comparable getValue(int index) {
        return (Comparable) super.getValue(index);
    }

    @Override
    public int compareTo(CTuple3 other) {
        final int cmp0 = CTuple.compare(value0, other.value0);
        if (cmp0 == 0) {
            final int cmp1 = CTuple.compare(value1, other.value1);
            if (cmp1 == 0) {
                return CTuple.compare(value2, other.value2);
            } 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