Just plain suck at it. Actually I'm fairly ok at going through and correcting code that I have a skeleton for. But to just write code from thin air, I'm screwed. My main problem is I have no interest in it, so I have a hard time sitting down to learn it. I was finally starting to get it a bit at the end of the intro class, took a long break, and have been clueless 3 weeks in to this class. I've been messing with the lab for the past few hours and some of the basics are coming back, and have it 38% complete, and could probably get about 70% on my own. I've got most of the objects constructed and tested, and I'm quitting for the night. Basically this is the problem(this is just the written description, there are 6 classes of code and too much post here): Purpose To assess your ability to apply the knowledge and skills developed in Module 1 and Module 2. Emphasis will be placed on interfaces and polymorphism. Introduction You have been contracted by Acme Manufacturing to develop the first phase of an inventory management system. The system will keep track of inventory lots. There are two different types of lots. One type of lot is a group of parts received from a supplier. The second type of lot is a group of products that have been manufactured at the same time. Parts are used to make products. Products are sold to customers. The system you are going to design and develop will help Acme Manufacturing keep track of the parts they have in their inventory. When parts are received from a supplier, a receiving clerk adds the parts to inventory in lots. Each lot has a lot number and contains only one type of part, but there may be multiple lots in inventory that contain the same type of part. When parts are used to manufacture products, a production clerk removes the parts from the lots. When all the parts have been used up, the empty lots are deleted from inventory. When products are manufactured, a production clerk adds the lots of products to inventory. A shipping clerk removes products from inventory as the products are shipped from the factory. Like parts, each lot contains only one type of product, but there may be multiple lots in inventory that contain the same type of product. When all the products in a certain lot have been sold, the lot is deleted from inventory. Production managers need to know what parts and products are in inventory before scheduling production. A production manager can display a lot or query the inventory status of a single part or product to see if more need to be ordered or manufactured. Functional Requirements Adding a Lot A lot is assigned a number, starting with 1, when it is added to inventory. Lot numbers are not reused. A maximum of 250 lots can be stored in inventory. The method to add a lot must return a Boolean value of true if the lot was successfully added. Otherwise the method must return false. Deleting a Lot The method to delete a lot takes the lot number of the lot to be deleted as a parameter and returns a Boolean value of true if the lot was successfully deleted and false if it was not deleted. Retrieving a Lot Given a lot number, a specific lot will be returned. If the lot does not exit, the method to retrieve the lot should return null. Querying the Inventory Given a part or product id, the total quantity on-hand will be returned. Note that the total may include parts or products from more than one lot. Removing Parts or Products Removing a quantity of parts or products from inventory reduces the quantity on-hand in one or more lots. Parts or products are removed from inventory only if the entire quantity is available in inventory. If removing the items from inventory reduces the quantity on-hand to zero, the lot should be deleted from inventory. The method to remove items from inventory takes the part or product number and the quantity as parameters. The method should return a Boolean value of true if the parts or products were successfully removed and false if they were not removed. Assignment Your job is to implement the methods specified in the interfaces in concrete classes. You must document and test all classes you implement. A careful study of the functional requirements and documentation in the provided interface classes will direct your efforts. You also may want to examine the javadoc supplied in the folder Lab01Student\doc. You may ask the customer (your professor) for clarification on any of the methods that are imprecisely defined. Any method containing the comment // TODO: Your code here should be modified to perform the task documented in the associated interface. You are responsible for creating any needed instance fields. You also must add comments and update all javadoc to fully and accurately document your implementation. You can create additional methods, as needed, to implement your classes. Note that some additional classes and interfaces are provided as part of the project. In particular, the Money interface and the concrete implementation Dollar are available for specifying the cost of an item. You can find the javadoc for these interfaces and classes in the folder Lab01Student\jardoc\doc.