package rabbitescape.engine.solution; public class PlaceTokenAction implements CommandAction, TimeStepAction { public final int x; public final int y; public PlaceTokenAction( int x, int y ) { this.x = x; this.y = y; } public int getX() { return x; } public int getY() { return y; } @Override public String toString() { return "PlaceTokenAction( " + x + ", " + y + " )"; } @Override public boolean equals( Object otherObj ) { if ( ! ( otherObj instanceof PlaceTokenAction ) ) { return false; } PlaceTokenAction other = (PlaceTokenAction)otherObj; return ( x == other.x && y == other.y ); } @Override public int hashCode() { return x + 31 * ( x + y ); } @Override public void typeSwitch( CommandActionTypeSwitch actionTypeSwitch ) { actionTypeSwitch.casePlaceTokenAction( this ); } @Override public void typeSwitch( TimeStepActionTypeSwitch timeStepActionTypeSwitch ) { timeStepActionTypeSwitch.casePlaceTokenAction( this ); } }