Question: UML digram (java) continuing to last question : http://www.chegg.com/homework-help/questions-and-answers/java-program-payroll-system-using-inheritance-polymorphism-1-implement-interface-called-em-q18443894 the code : CLASS EDUCATION package Employee; public class Education { public Education() { } public
UML digram (java)
continuing to last question :
http://www.chegg.com/homework-help/questions-and-answers/java-program-payroll-system-using-inheritance-polymorphism-1-implement-interface-called-em-q18443894
the code :
CLASS EDUCATION
package Employee;
public class Education {
public Education() {
}
public Education(Degree degree, String major, int research) {
super();
this.degree = degree;
this.major = major;
this.research = research;
}
private Degree degree;
private String major;
private int research;
public enum Degree {
MS, PhD
}
public Degree getDegree() {
return degree;
}
public void setDegree(Degree degree) {
this.degree = degree;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public int getResearch() {
return research;
}
public void setResearch(int research) {
this.research = research;
}
}
CLASS EMPLOYEE
package Employee;
import java.util.Calendar;
public abstract class Employee implements Comparable
public Employee(String lastName, String firstName, String idNumber, Gender gender, Calendar date) {
super();
this.setLastName(lastName);
this.setFirstName(firstName);
this.setIdNumber(idNumber);
this.setGender(gender);
this.setDate(date);
}
public Employee() {
}
private String lastName;
private String firstName;
private String idNumber;
private Gender gender;
private Calendar date;
@Override
public String toString() {
return "ID Employee number : " + this.getIdNumber() + " Employee name: " + this.getFirstName() + " "
+ this.getLastName() + " Birth date: " + getDate().getTime();
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getIdNumber() {
return idNumber;
}
public void setIdNumber(String idNumber) {
this.idNumber = idNumber;
}
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
public Calendar getDate() {
return date;
}
public void setDate(Calendar date) {
this.date = date;
}
abstract float monthlyEarning();
@Override
public int compareTo(Employee o) {
return Integer.parseInt(this.idNumber) > Integer.parseInt(o.idNumber) ? -1 : 1;
}
}
CLASS EMPLOYEEINFO
package Employee;
public interface EmployeeInfo {
final float FACULTY_MONTHLY_SALARY = (float) 6000.00;
final int STAFF_MONTHLY_HOURS_WORKED = 160;
}
CLASS FACULTY
package Employee;
import java.util.Calendar;
public class Faculty extends Employee {
public Faculty(String lastName, String firstName, String idNumber, Gender gender, Calendar date, Level level,
Education education) {
super(lastName, firstName, idNumber, gender, date);
this.level = level;
this.education = education;
}
public Faculty() {
}
private Level level;
private Education education;
@Override
float monthlyEarning() {
// TODO Auto-generated method stub
switch (level) {
case AS:
return EmployeeInfo.FACULTY_MONTHLY_SALARY;
case AO:
return EmployeeInfo.FACULTY_MONTHLY_SALARY * (float) 1.5;
case FU:
return EmployeeInfo.FACULTY_MONTHLY_SALARY * 2;
default:
return EmployeeInfo.FACULTY_MONTHLY_SALARY;
}
}
public Education getEducation() {
return education;
}
public void setEducation(Education education) {
this.education = education;
}
public Level getLevel() {
return level;
}
public void setLevel(Level level) {
this.level = level;
}
public enum Level {
/*
* "AS": assistant professor "AO": associate professor "FU": professor
*/
AS, AO, FU;
}
@Override
public String toString() {
String prof;
switch (level) {
case AS:
prof = "Assiatant Professor";
break;
case AO:
prof = "Associate Professor";
break;
case FU:
prof = "Full Professor";
break;
default:
prof = "Assiatant Professor";
break;
}
return "ID Employee number : " + this.getIdNumber() + " Employee name: " + this.getFirstName() + " "
+ this.getLastName() + " Birth date: " + getDate().getTime() + " " + prof + " "
+ "Monthly salary : " + monthlyEarning();
}
}
ENUM GENDER
package Employee;
public enum Gender {
M,F;
}
CLASS PARTIME
package Employee;
import java.util.Calendar;
public class Partime extends Staff {
private float hoursWorkedPerWeek;
public Partime() {
super();
}
public Partime(float horlyRate) {
super(horlyRate);
}
public Partime(String lastName, String firstName, String idNumber, Gender gender, Calendar date, float hourlyRate) {
super(lastName, firstName, idNumber, gender, date, hourlyRate);
}
public float getHoursWorkedPerWeek() {
return hoursWorkedPerWeek;
}
public void setHoursWorkedPerWeek(float hoursWorkedPerWeek) {
this.hoursWorkedPerWeek = hoursWorkedPerWeek;
}
@Override
public float monthlyEarning() {
return hoursWorkedPerWeek * 4 * getHourlyRate();
}
@Override
public String toString() {
return "ID Employee number : " + this.getIdNumber() + " Employee name: " + this.getFirstName() + " "
+ this.getLastName() + " Birth date: " + getDate().getTime() + " Hours works per month : "
+ getHoursWorkedPerWeek() * 4 + " " + "Monthly salary : " + monthlyEarning();
}
}
CLASS STAFF
package Employee;
import java.util.Calendar;
public class Staff extends Employee {
public Staff(String lastName, String firstName, String idNumber, Gender gender, Calendar date, float hourlyRate) {
super(lastName, firstName, idNumber, gender, date);
this.hourlyRate = hourlyRate;
}
public Staff(float horlyRate) {
this.hourlyRate = hourlyRate;
}
public Staff() {
}
private float hourlyRate;
@Override
public float monthlyEarning() {
return hourlyRate * 160;
}
public float getHourlyRate() {
return hourlyRate;
}
public void setHourlyRate(float hourlyRate) {
this.hourlyRate = hourlyRate;
}
@Override
public String toString() {
return "ID Employee number : " + this.getIdNumber() + " Employee name: " + this.getFirstName() + " "
+ this.getLastName() + " Birth date: " + getDate().getTime() + " FULL TIME " + "Monthly salary : "
+ monthlyEarning();
}
}
CLASS TESTDRIVER
package Employee;
import java.util.Arrays;
import java.util.Calendar;
import Employee.Education.Degree;
import Employee.Faculty.Level;
public class TestDriver {
static Employee[] employee = new Employee[9];
/**
* @param args
*/
public static void main(String args[]) {
/*
* Last name: Allen First name: Paita ID: 123 Sex: M Birth date: 2/23/59 Hourly
* rate: $50.00
*/
Staff staff1 = new Staff();
staff1.setFirstName("Paita");
staff1.setLastName("Allen");
staff1.setIdNumber("123");
staff1.setGender(Gender.M);
Calendar calendar = Calendar.getInstance();
calendar.set(1959, 2, 23);
staff1.setDate(calendar);
staff1.setHourlyRate(50);
employee[0] = staff1;
/*
* Last name: Zapata First Name: Steven ID: 456 Sex: F Birth date: 7/12/64
* Hourly rate: $35.00
*/
Staff staff2 = new Staff();
staff2.setFirstName("Steven");
staff2.setLastName("Zapata");
staff2.setIdNumber("456");
staff2.setGender(Gender.F);
calendar = Calendar.getInstance();
calendar.set(1964, 7, 12);
staff2.setDate(calendar);
staff2.setHourlyRate(35);
employee[1] = staff2;
/*
* Last name:Rios First name:Enrique ID: 789 Sex: M Birth date: 6/2/70 Hourly
* rate: $40.00
*/
Staff staff3 = new Staff();
staff3.setFirstName("Enrique");
staff3.setLastName("Rios");
staff3.setIdNumber("789");
staff3.setGender(Gender.M);
calendar = Calendar.getInstance();
calendar.set(1970, 6, 2);
staff3.setDate(calendar);
staff3.setHourlyRate(40);
employee[2] = staff3;
/*
* Last name: Johnson First name: Anne ID: 243 Sex: F Birth date: 4/27/62 Level:
* Full Degree: Ph.D Major: Engineering Reseach: 3
*/
Faculty faculty1 = new Faculty();
faculty1.setFirstName("Anne");
faculty1.setLastName("Johnson");
faculty1.setIdNumber("243");
faculty1.setGender(Gender.F);
calendar = Calendar.getInstance();
calendar.set(1962, 4, 27);
faculty1.setDate(calendar);
faculty1.setLevel(Level.FU);
Education education = new Education();
education.setDegree(Degree.PhD);
education.setMajor("Engineering");
education.setResearch(3);
faculty1.setEducation(education);
employee[3] = faculty1;
/*
* Last name: Bouris First name: William ID: 791 Sex: F Birth date: 3/14/75
* Level: Associate Degree: Ph.D Major: English Reseach: 1
*
*/
Faculty faculty2 = new Faculty();
faculty2.setFirstName("William");
faculty2.setLastName("Bouris");
faculty2.setIdNumber("791");
faculty2.setGender(Gender.F);
calendar = Calendar.getInstance();
calendar.set(1975, 3, 14);
faculty2.setDate(calendar);
faculty2.setLevel(Level.AO);
Education education2 = new Education();
education2.setDegree(Degree.PhD);
education2.setMajor("English");
education2.setResearch(1);
faculty2.setEducation(education2);
employee[4] = faculty2;
/*
* Last name: Andrade First name: Christopher ID: 623 Sex: F Birth date: 5/22/80
* Level: Assistant Degree: MS Major: Physical Education Research: 0
*
*/
Faculty faculty3 = new Faculty();
faculty3.setFirstName("Christopher");
faculty3.setLastName("Andrade");
faculty3.setIdNumber("623");
faculty3.setGender(Gender.F);
calendar = Calendar.getInstance();
calendar.set(1980, 5, 22);
faculty3.setDate(calendar);
faculty3.setLevel(Level.AS);
Education education3 = new Education();
education3.setDegree(Degree.MS);
education3.setMajor("Physical Education");
education3.setResearch(0);
faculty3.setEducation(education3);
employee[5] = faculty3;
/*
* Last name: Guzman First name: Augusto ID: 455 Sex: F Birth date: 8/10/77
* Hourly rate: $35.00 Hours worked per week: 30
*/
Partime partime1 = new Partime();
partime1.setFirstName("Augusto");
partime1.setLastName("Guzman");
partime1.setIdNumber("455");
partime1.setGender(Gender.F);
calendar = Calendar.getInstance();
calendar.set(1977, 8, 10);
partime1.setDate(calendar);
partime1.setHourlyRate(35);
partime1.setHoursWorkedPerWeek(30);
employee[6] = partime1;
/*
* Last name: Depirro First name: Martin ID: 678 Sex: F Birth date: 9/15/87
* Hourly rate: $30.00 Hours worked per week:15
*
*/
Partime partime2 = new Partime();
partime2.setFirstName("Martin");
partime2.setLastName("Depirro");
partime2.setIdNumber("678");
partime2.setGender(Gender.F);
calendar = Calendar.getInstance();
calendar.set(1987, 9, 15);
partime2.setDate(calendar);
partime2.setHourlyRate(30);
partime2.setHoursWorkedPerWeek(15);
employee[7] = partime2;
/*
* Last name: Aldaco First name: Marque ID: 945 Sex: M Birth date: 11/24/88
* Hourly rate: $20.00 Hours worked per week: 35
*
*/
Partime partime3 = new Partime();
partime3.setFirstName("Marque");
partime3.setLastName("Aldaco");
partime3.setIdNumber("945");
partime3.setGender(Gender.M);
calendar = Calendar.getInstance();
calendar.set(1988, 11, 24);
partime3.setDate(calendar);
partime3.setHourlyRate(20);
partime3.setHoursWorkedPerWeek(35);
employee[8] = partime3;
diplayAllEmployeeData();
displayTotalSalaryForPartTime();
}
private static void displayTotalSalaryForPartTime() {
System.out.println(" ******* Total Salary For PartTime ******* ");
float totalIncomeOfPartimeEmploees = 0;
float totalIncomeOfAllEmploees = 0;
for (Employee employee : TestDriver.employee) {
totalIncomeOfAllEmploees = totalIncomeOfAllEmploees + employee.monthlyEarning();
if (employee instanceof Partime) {
System.out.println(employee.toString());
totalIncomeOfPartimeEmploees = totalIncomeOfPartimeEmploees + employee.monthlyEarning();
}
}
System.out.println(" ******* Total Income Data******* ");
System.out.println("Total income under partime category is " + totalIncomeOfPartimeEmploees);
System.out.println("Total income under all employee category is " + totalIncomeOfAllEmploees);
Arrays.sort(employee);
System.out.println(" ******* All Data Sorted on Id number******* ");
for (Employee employee : TestDriver.employee) {
System.out.println(employee.toString());
}
}
private static void diplayAllEmployeeData() {
System.out.println(" ******* All Data ******* ");
for (Employee employee : TestDriver.employee) {
System.out.println(employee.toString());
}
}
}
What is the uml digram for the code ?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
