Westonci.ca is the premier destination for reliable answers to your questions, provided by a community of experts. Get quick and reliable solutions to your questions from a community of experienced professionals on our platform. Join our Q&A platform to connect with experts dedicated to providing accurate answers to your questions in various fields.

Build a program which should have two classes Employee and Client. Employee should be in package ACP.Employee while Client class should be in ACP.Client. Employee class should have the following data members and Functionalities

Data members:
Employee Name
Father name
Emp ID (Number)
Job Category (Teacher, Officer, Staff, Labour)
Date of birth (Date)
Education (Matric, FSc, BS, MS, PhD)
Pay scale (number)
NIC (String)

Functionalities:
SetEmpInformation
UpdateEmpInformation
DeleteEmpInformation
Search and View Emp record by
Emp ID
Employee Name
Age
Job Catagory
Client class should have main function where it may have capacity of maximum 50 Employee records and You are only allowed to use arrays(list is not allowed).
User should be given choice whether to
Add New Employee record
Update Employee Information
Delete Employee Record
Search & view Employee
BY Emp ID
By Employee Name
By Age
By Job Catagory
Choices may be taken by using Input Message dialogs.

When user selects Add New Employee record, It must be kept in mind that no Teacher can have education lower than MS while No Officer can have lower than BS, No Staff can be lesser education than FSc and Labour should be with at least Matric Education. In the same manner for the Teacher pay scale can not be lesser than 18 while for the officer it cant be lesser than 17, the staff should be in between 11 and 16 and the pay scale for labour will be in between 1 and 10.

On update Employee Information, only education payscale and Job category can be updated.
When program is closed all the records should be saved into the file named as EmpDB.dat. all the objects must be serialized into the file. When the program starts if file EmpDB.dat is already present then user should have all required choices to apply on records available in file.

You will use java serialization to implement object serialization.

Note: Inputs should be taken by using Input dialogs and View should be by using showMessageDialog.
Emp ID should be unique and should not be set by user. It should be automatically assigned and Emp ID should start from 9000.