Question
I really NEED HELP with this one! The fourth programming project involves writing a program to manage a real estate database. This program should be
I really NEED HELP with this one!
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:
- The property address stored as a string
- The number of bedrooms stored as integer
- The square footage stored as integer
- The price stored as integer
- 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:
- A constructor that accepts four parameters for the purpose of initializing the characteristics of the property, specifically
- Property address
- Number of bedrooms
- Square footage
- Price
The status of the property should be set to FOR_SALE (0).
- A method named changeStatus that allows the status of the property to be changed.
- 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:
- When the Process button is clicked, the program checks that there are integers in Transaction No, Bedrooms, Square Footage, and Price fields.
- If the user attempts to insert a key that is already in the database.
- 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
Real Estate Database - O X Transaction No: Address: Bedrooms: Square Footage Price: Process Change Status Insert Insert Delete Find Real Estate Database - O X Transaction No: Address: Bedrooms: Square Footage Price: Process Insert Change Status FOR_SALE FOR_SALE UNDER_CONTRACT SOLD Real Estate Database - O X Transaction No: Address: Bedrooms: Square Footage Price: Process Change Status Insert Insert Delete Find Real Estate Database - O X Transaction No: Address: Bedrooms: Square Footage Price: Process Insert Change Status FOR_SALE FOR_SALE UNDER_CONTRACT SOLDStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started