/** Employee - A class to represent Employees
 *
 * @author - Nancy Harris and Jeremy Halterman
 * @version - V1 - 1.1\
 * @date - 10-01-08
 */
 
 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 wage; 		// the hourly rate for this worker
	
	protected double hours;		// the hours that this worker last worked
	
	//added to hold the pay methods return value
	protected double grossPay;
	//added to hold the employee's department
	protected String homeDepartment;
	
	
	
	/** 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
	 */
	public Employee(String name, String SSN, int exempt, double rate, String dept)
	{
		this.name = name;
		this.SSN = SSN;
		this.exemptions = exempt;
		this.wage = rate;
		//modified to hold the department of each employee
		this.homeDepartment = dept;
	}//end constructor
	
		
	/** 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\n
	 *
	 * @return The line representing the employee
	 */
	public String toString()
	 {
	 	return "Employee: " + this.name + "\n"
	 	        +"SSN: " + this.SSN + "\n" +
	 	        "Department: " + this.homeDepartment + "\n" +
	 	        "Exemptions: " + this.exemptions + "\n"+
	 	        "Hours: " + this.hours +"\n" +
	 	        "Rate: " + this.wage + "\n" +
	 	        "Pay: " + this.grossPay;
	 }//end toString
}//end Employee Class