final class GridPosition {
final int x;
final int y;
GridPosition(final int x, final int y) {
this.x = x;
this.y = y;
}
/*
* This equals method is of deliberately narrow scope (only allows comparison with another GridPosition) to increase
* readability. In general, one should provide a full implementation of Object.equals(Object obj) and a
* corresponding implementation of Object.hashCode(). See
*
* https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)
*
* and
*
* https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode()
*
* for more information.
*/
boolean equals(final GridPosition gridPosition) {
return this.x == gridPosition.x && this.y == gridPosition.y;
}
}