package edu.rice.hj.example.comp322.assignments.hw2; /** *

MaxWrapperSol class.

* * @author Kyle Kurihara (khk1) */ public class MaxWrapperSol { /** *

max.

* * @param left first argument * @param right second argument * @return the 'maximum' of the two input arguments */ public static MaxWrapperSol max(final MaxWrapperSol left, final MaxWrapperSol right) { int theirData = right.getData(); int theirIndex = right.getIndex(); if (left.data > theirData) { return left; } else if (theirData > left.data) { return right; } else { if (left.index > theirIndex) { return left; } else { return right; } } } private int data; private int index; /** *

Constructor for MaxWrapperSol.

* * @param data a int. * @param index a int. */ public MaxWrapperSol(final int data, final int index) { this.data = data; this.index = index; } /** *

Getter for the field data.

* * @return a int. */ public int getData() { return data; } /** *

Setter for the field data.

* * @param data a int. */ public void setData(int data) { this.data = data; } /** *

Getter for the field index.

* * @return a int. */ public int getIndex() { return index; } /** *

Setter for the field index.

* * @param index a int. */ public void setIndex(int index) { this.index = index; } /** * {@inheritDoc} */ @Override public boolean equals(final Object o) { if (this == o) { return true; } if (!(o instanceof MaxWrapperSol)) { return false; } final MaxWrapperSol that = (MaxWrapperSol) o; if (data != that.data) { return false; } if (index != that.index) { return false; } return true; } /** * {@inheritDoc} */ @Override public int hashCode() { int result = data; result = 31 * result + index; return result; } /** * {@inheritDoc} */ @Override public String toString() { return "(" + data + "@" + index + ")"; } }