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

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, T2 extends Comparable, T3 extends Comparable> 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