//File:	Employee2.java
import CSLib.*;
/**
*	This class represents <B>Employees</B>
*	@author Bill Steinmetz
*/
public class Employee2
{
	//Attributes (data) of Employee - Instance Variables
	private String	firstName,
		 	lastName;
		
	private double 	hoursWorked, 
			payRate, 
			salary;	//added to attributes
		
	//Behavior (operations) of Employee- Instance Methods
	
	//Accessor methods
	
	//The toString() method allows direct output of an Employee object
	//through System.out.print(employee)
	/**
	*	@return a <code>String</code> representing all of
	*	the Employee's data
	*/
	public String toString()
	{
		return firstName + " " + lastName + " worked " + hoursWorked
			+ " hours at $ " + payRate + " per hour and earned $ "
			+  salary + ".";
	}
		
	/**
	*	@return a <code>String</code> representing the Employee's full name
	*/
	public String getName()
	{
		return firstName + " " + lastName;
	}
	
	
	//Mutator methods
	/**
	*	Calculates the Employee's salary including time worked
	*	beyond 40 hours per week (overtime)
	*/
	public void calculateSalary ()
	{
		if (hoursWorked < 40)
		{
			salary =  payRate * hoursWorked;
		}
		else
		{
			salary = payRate * 40 + 1.5 * payRate * (hoursWorked - 40);
		}
	}
	
	/**
	*	Interactively assigns the Employee's first and last names
	*/
	public void setName()
	{
		InputBox in = new InputBox();
		in.setPrompt ("First name please: ");
		firstName = in.readString();
		in.setPrompt ("Last name please: ");
		lastName = in.readString();
	}
	
	/**
	*	Interactively assigns the number of hours worked
	*/
	public void setHoursWorked()
	{
		InputBox in = new InputBox();
		in.setPrompt ("How many hours did you work last week? ");
		hoursWorked = in.readDouble();
	}
	
	/**
	*	Interactively assigns the Employee's rate of pay
	*/
	public void setPayRate()
	{
		InputBox in = new InputBox();
		in.setPrompt ("What is your hourly pay rate? ");
		payRate = in.readDouble();
	}
}
