import java.io.*;
import java.util.*;

public class Candidate extends Object
{
  private String birthPlace;
  private String firstName;
  private String lastName;
  private String party;
  private String state;

/******************************************************************************/
/** Construct a new candidate with empty strings for all instance variables
**/
  public Candidate()
  {
    this.setFirstName("");
    this.setLastName("");
    this.setParty("");
    this.setState("");
    this.setBirthPlace("");
  }

/******************************************************************************/
/** Construct a new candidate using only first and last names
**/
  public Candidate(String inFirstName, String inLastName)
  {
    this.setFirstName(inFirstName);
    this.setLastName(inLastName);
    this.setParty("");
    this.setState("");
    this.setBirthPlace("");
  }

/******************************************************************************/
/** Construct a new candidate with values supplied for all instance variables
**/
  public Candidate(String inFirstName, String inLastName, String inParty,
                   String inState, String inBirthPlace)
  {
    this.setFirstName(inFirstName);
    this.setLastName(inLastName);
    this.setParty(inParty);
    this.setState(inState);
    this.setBirthPlace("inBirthPlace");
  }

/******************************************************************************/
/* Accessors                                                                  */
/******************************************************************************/
/******************************************************************************/
  public String getBirthPlace()
  {
    return this.birthPlace;
  }
   
/******************************************************************************/
  public String getFirstName()
  {
    return this.firstName;
  }
   
/******************************************************************************/
  public String getLastName()
  {
    return this.lastName;
  }
   
/******************************************************************************/
  public String getParty()
  {
    return this.party;
  }
   
/******************************************************************************/
  public String getState()
  {
    return this.state;
  }
   

/******************************************************************************/
/* Mutators                                                                   */
/******************************************************************************/
/******************************************************************************/
  public void setBirthPlace(String inBirthPlace)
  {
    this.birthPlace = inBirthPlace;
  }
   
/******************************************************************************/
  public void setFirstName(String inFirstName)
  {
    this.firstName = inFirstName;
  }
   
/******************************************************************************/
  public void setLastName(String inLastName)
  {
    this.lastName = inLastName;
  }
   
/******************************************************************************/
  public void setParty(String inParty)
  {
    this.party = inParty;
  }
   
/******************************************************************************/
  public void setState(String inState)
  {
    this.state = inState;
  }

/******************************************************************************/
/* Utility methods for an instance of a single candidate                      */
/******************************************************************************/
/******************************************************************************/
  public void getData(Scanner dataFile)
  {
    String inString = "";

    inString = dataFile.next();
    this.setFirstName(inString);

    inString = dataFile.next();
    this.setLastName(inString);

    inString = dataFile.next();
    this.setParty(inString);

    inString = dataFile.next();
    this.setState(inString);

    inString = dataFile.next();
    this.setBirthPlace(inString);

  }

/******************************************************************************/
  public String toString()
  {
    String returnString = "";

    returnString = String.format("%20s %20s %4s %3s %20s",
                                 this.getFirstName(),this.getLastName(),this.getParty(),
                                 this.getState(),this.getBirthPlace());
    return returnString;
  }

} // public class Candidate extends Object

