/** Employee - A class to represent Employees
 *
 * @author - Nancy Harris and YOUR NAME HERE
 * @version - V1 - YOUR UPDATE DATE HERE
 */
 
 public class Employee
 {
 	// declare the instance variables of the class
	
	protected String name; 		// the name of the worker
	protected String SSN;  		// the SSN of the worker
	protected int exemptions;		// the number of tax exemptions for this worker
	protected double rate; 		// the pay rate for this worker
	protected String dept;		// The department for this worker
	
	/** default constructor...really has no meaning at this point
	 */
	public Employee(){}
	
	/** explicit value constructor
	 * 
	 * @param name 	The name of the worker
	 * @param SSN  	The SSN of the worker
	 * @param exempt	The number of payroll exemptions
	 & @param rate 	The pay rate for this employee
	 * @param dept		The employee's department
	 */
	public Employee(String name, String SSN, int exempt, double rate, String dept)
	{
		this.name = name;
		this.SSN = SSN;
		this.exemptions = exempt;
		this.rate = rate;
		this.dept = dept;
	}
	
	/** get name returns the name of the employee
    *   @return The employee name
    */
    public String getName()
    {
      return name;
    }
	
	/** pay produces the pay amount for this employee
	 *  pay is simply the return of the wage value
	 *
	 * @param hours For salaried workers, this is informational only
	 *
	 * @return The amount to pay this employee
	 */
	public double pay()
	{		
		return 0;
   }

	/** toString produces a single line for each employee
	 *  pay is the last amount paid based on rate and hours
	 *
	 *  format is Name\tSSN\texemptions\thours\trate\tpay
	 *
	 * @return The line representing the employee
	 */
	 public String toString()
	 {
	 	 String builder;
      
       builder = String.format("%10s\t%s\t%s\t%d\t%.2f",
       this.name, this.SSN, this.dept, this.exemptions, this.rate);
       
	 	return builder; 
	 }
    
    /** updateExemptions updates this employee's exemptions
    *  if the newExemp is < 0, then don't change.
    *
    * @param newExemp The amount of the new exemptions
    */
    public void updateExemptions(int newExemp)
    {
      if (newExemp >= 0)
         exemptions = newExemp;
    }

}