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 );
}
}