content: package rabbitescape.engine.solution;
  
  import rabbitescape.engine.Token;
  
  public class SelectAction implements CommandAction, TimeStepAction
  {
      public final Token.Type type;
  
      public SelectAction( Token.Type type )
      {
          this.type = type;
      }
  
      @Override
      public String toString()
      {
          return "SelectAction( " + type.name() + " )";
      }
  
      @Override
      public boolean equals( Object otherObj )
      {
          if ( ! ( otherObj instanceof SelectAction ) )
          {
              return false;
          }
          SelectAction other = (SelectAction)otherObj;
  
          return ( type == other.type );
      }
  
      @Override
      public int hashCode()
      {
          return type.hashCode();
      }
  
      @Override
      public void typeSwitch( CommandActionTypeSwitch actionTypeSwitch )
      {
          actionTypeSwitch.caseSelectAction( this );
      }
  
      @Override
      public void typeSwitch( TimeStepActionTypeSwitch timeStepActionTypeSwitch )
      {
          timeStepActionTypeSwitch.caseSelectAction( this );
      }
  }
  