package jrummikub.model;
import java.io.Serializable;
/**
* {@link Stone} Position class to determine positions on {@link Table} or
* {@link Hand}
*/
public class Position implements Serializable {
private static final long serialVersionUID = -582497930480638380L;
private double x;
private double y;
* Create a new position by specifying the coordinates
*
* @param x
* x coordinate
* @param y
* y coordinate
public Position(double x, double y) {
this.x = x;
this.y = y;
}
* Get the x coordinate of the position
* @return x coordinate
public double getX() {
return x;
* Get the y coordinate of the position
* @return y coordinate
public double getY() {
return y;
@Override
public String toString() {
return "Position[x=" + x + ",y=" + y + "]";
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
Position other = (Position) obj;
if (Double.doubleToLongBits(x) != Double.doubleToLongBits(other.x))
if (Double.doubleToLongBits(y) != Double.doubleToLongBits(other.y))
public int hashCode() {
final int prime = 31;
int result = 1;
result = (int) (prime * result + Double.doubleToLongBits(x));
result = (int) (prime * result + Double.doubleToLongBits(y));
return result;