Java
CS 2910 Assignment - Build am Exportation Management System Assignment Goals - Apply Generics in an implementation - Use I/O Files - Discover JAVA FX (bonus) Assignment Description In this assignment, you will build a system that helps to manage the delivery process of Products and Vehicles of an exportation company. This latter will export other types of items in the future such as foods, medicine,... We will guide you to have an implementation open to new requirements without need for large modifications in the code. Start with defining a Product. A product has an id, current location, weight, height, width, color, price and a description. You can add other attributes that you see fit. A Delicate Product is a Product that has to be kept at specific temperature; thereby it has a temperature and extra price as attributes. The getPrice() of a delicate product should return the price added by the extra price. A Vehicule has an id, current location, Carfax, miles, price. For all types of items (Product, Vehicle), the following process is followed: - The company has a packaging process, it takes the item and adds the package to it. The packaging process returns a Packaged Element instance. A packaged element is a pair of item and package. - The company has a delivery processes (intial_location, destination_location), this process may pass by several end points before arriving to the final destination. To implement the above process, create at least the following classes : - Packaged Element that is a triplet of item, Package, packaging_date. Of course, make the item Generic; so that your code can support any kind of items. - A SourceDestination class that has Three Strings (Source, Destination, State). A State could be "Preparation", "Packaged", "Location 1", "Location 2", .... ,"Delivered". - A Package class, which has thickness, color, ... - An EndPoints class that reads the end points from a file and stores them in a Map. Each Map's key is a pair of Strings (source and destination) and the values are the list the end points to pass through to arrive to the final destination. The file could have the following format: - UofCanada - Point 90 Mall : UofCanada, NewCapital, Rihab, FifthSettlement, Point 90 Mall - Alexandria - UofCanada : Alexandria, FifthSettlemnt, UofCanada - A MS System that has a list of End Points, and a Map of