subject

The fourth programming project involves writing a program to manage a real estate database. This program should be comprised of an enumerated type, an interface, and two parts. The enumerated type should be named Status and should contain three enumeration literals, FOR_SALE, UNDER_CONTRACT and SOLD.

The interface should be a generic interface named StatusChangeable and it should have a bounded generic type parameter whose type must be an enumerated type. It should contain one abstract method changeStatus that has a parameter whose type of the generic type parameter.

The first part of the program is a class named Property. It should implement the StatusChangeable interface. It should contain five instance variables:

1. The property address stored as a string

2. The number of bedrooms stored as integer

3. The square footage stored as integer

4. The price stored as integer

5. The status of the property whose type should be the enumerated type Status with the equivalent integers of 0, 1, and 2.

In addition, it should have the following three methods:

1. A constructor that accepts four parameters for the purpose of initializing the characteristics of the property, specifically

a. Property address

b. Number of bedrooms

c. Square footage

d. Price

The status of the property should be set to FOR_SALE (0).

2. A method named changeStatus that allows the status of the property to be changed.

3. An overridden toString method that returns a string containing the property address, number of bedrooms, square footage, price, and current status appropriately labeled.

The second part of the program is the Program Core and contains the main method. In addition, it should contain an instance variable that defines the database of property records, which is implemented as a HashMap, with the transaction number field (Integer) as the key and a Property object as the value. For consistency and feedback, there is a PRJ4Property. txt data file to use with this project. For documentation, a Transaction array is declared to hold the actions implemented: insert, deleted, find, and change status.

The data file is read into the program and assigned into a HashMap. As each record is assigned, the program also displays all the records of the data file in the Output Window of the IDE.

The program should generate the GUI shown below:

Clicking the Process button should cause the selected choice of the three actions in the combo box to its right to be executed. When inserting a new record, the program should first check whether any non-integer values have been entered in any of the fields that require integers.

The following error messages should display in a JOptionPane window:

1. When the Process button is clicked, the program checks that there are integers in Transaction No, Bedrooms, Square Footage, and Price fields.

2. If the user attempts to insert a key that is already in the database.

3. If the user attempts to delete or find a record that is not in the database.

After each successful operation is completed a JOptionPane window should display confirming the success. In the case of a successful Find request, a window should pop up containing all the information in the associated Property object.

.

Clicking the Change Status button should cause status of the property association with the designated transaction number to be changed to status selected in the combo box to its right.

For design purposes, it might be helpful to include an Exit button on the GUI Interface.

Each transaction modifies/updates the HashMap holding the data that was read into the program. In addition, each transaction is assigned to the Transaction array.

When the program ends, there are two displays of information. The transactions are displayed in the Output Window of the IDE. After that display the newly modified HashMap of the original set of data is displayed in the Output Window of the IDE.

Be sure to follow good programming style, which means making all instance variables private, naming all constants and avoiding the duplication of code. Furthermore, you must select enough different kinds of shapes to completely test the program.

Text. file

7623:563 Main St, 4, 2234, 243212, 1

8729:One State Blvd, 7, 4280, 1250000, 0

7321:7865 W. Patrick Dr, 5, 3090, 26000, 2

3242:876 Northwest Way, 3, 1350,175000, 0

9823:76 Inverness Rd, 5, 2890, 398500, 2

2341:45871 Alpine Way, 5, 2850, 385750, 1

8321:44 North Beach Cir, 3, 1750,215250, 0


The fourth programming project involves writing a program to manage a real estate database. This pro
The fourth programming project involves writing a program to manage a real estate database. This pro

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 21:30
After you clean an engine with hot water spray, it seems to stall; when it doesn't stall, it's idling noisily. technician a says to check for loose bolts on the flex plate near the torque converter. technician b says to wipe down the spark plug wires and the distributor cap. who is correct? a. technician a b. both technicians a and b c. technician b
Answers: 1
question
Computers and Technology, 23.06.2019 00:30
Which of the following would you find on a network
Answers: 3
question
Computers and Technology, 23.06.2019 00:40
Consider the following statements: struct nametype{string first; string last; }; struct coursetype{string name; int callnum; int credits; char grade; }; struct studenttype{nametype name; double gpa; coursetype course; }; studenttype student; studenttype classlist[100]; coursetype course; nametype name; mark the following statements as valid or invalid. if a statement is invalid, explain why.a.) student.course.callnum = "csc230"; b.) cin > > student.name; c.) classlist[0] = name; d.) classlist[1].gpa = 3.45; e.) name = classlist[15].name; f.) student.name = name; g.) cout < < classlist[10] < < endl; h.) for (int j = 0; j < 100; j++)classlist[j].name = name; i.) classlist.course.credits = 3; j.) course = studenttype.course;
Answers: 1
question
Computers and Technology, 23.06.2019 12:00
If you embed a word table into powerpoint, what happens when you make edits to the embedded data? a. edits made to embedded data change the data in the source file; however, edits made to the source file will not be reflected in the embedded data. b. edits made to embedded data will change the data in the source file, and edits made to the source file will be reflected in the embedded data. c. edits made to embedded data don't change the data in the source file, nor will edits made to the source file be reflected in the embedded data. d. edits made to embedded data don't change the data in the source file; however, edits made to the source file will be reflected in the embedded data.
Answers: 1
You know the right answer?
The fourth programming project involves writing a program to manage a real estate database. This pro...
Questions
question
Mathematics, 05.10.2019 06:00
question
Mathematics, 05.10.2019 06:00
Questions on the website: 13722363