Programming Assignment 6: Object Oriented Programming Objectives: After successfully completing this assignment, students will practice Object Oriented design and programming by creating a Java program that will implement Object Oriented basic concepts. RetailItem Class: Part 1: Write a class named RetailItem that holds data about an item in a retail store. The class should have the following fields: • description. The description field references a String object that holds a brief description of the item. • unitsOnHand. The unitsOnHand field is an int variable that holds the numbers of units currently in inventory. • price. The price filed is a double that holds the item's retail price. Write a constructor that accepts arguments for each field, appropriate mutator methods that store values in these fields, and accessor methods that returns the values in these fields. After this, write a method in the RetailItem class called purchaseItem. This method will be used to simulate an item(s) purchase. It will accept as a parameter the variable totalItemsToPurchase representing a number of units to buy (e.g. 10). The method should check if its unitsOnHand is enough to satisfy the purchase. If it is not, notify the user. If it is enough, update unitsOnHand with the new value (unitsOnHand – totalItemsToPurchase) and return to the user the total cost of the purchase (itemsToPurchase * price). Hint: remember you can use the this instruction to access member variables inside a class Once you have written the class, write a driver class that creates three RetailItem objects and stores the following data in them: Description(objects name) Units on Hand Price Jacket 12 59.95 Shoes 40 34.95 Pants 20 24.95 Use the accessor methods you created to display the initial value of all three items. Then, simulate purchases by calling the purchaseItem method for each object following the list below: Description (Objects Name) totalItemsToPurchase Jacket 10 Shoes 20 Pants 5 Jacket 5 Shoes 10 Pants 3 Run/test the program and save the output as a comment at the end of your code. • Add all necessary comments including the header comment for each submitted file