package com.jpii.navalbattle.pavo.grid; public class Id { short superId, subId; int mutexId; public Id(short superId, short subId) { this.superId = superId; this.subId = subId; updateMutex(); } public Id(int superId, int subId) { this((short)superId,(short)subId); } public String toString() { return "("+superId+","+subId+":"+getMutexId()+")"; } private void updateMutex() { mutexId = ((int)Math.abs(((int)superId) * 65536)) + subId; } public void setSuperId(short id) { if (id != superId) { superId = id; updateMutex(); } } public void setSubId(short id) { if (id != subId) { subId = id; updateMutex(); } } public void setSuperId(int id) { if (id != superId) { superId = (short)id; updateMutex(); } } public void setSubId(int id) { if (id != subId) { subId = (short)id; updateMutex(); } } public short getSuperId() { return superId; } public short getSubId() { return subId; } public int getMutexId() { return mutexId; } }