This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
A few of us are working on our SCJD together here (what I mean is something like a study group to exchange ideas), and a couple of questions came up, so perhaps someone here can shed some light:
1) When the assignment says the Data.java "must implement the DBAccess interface", do you interpret that as implementing all the methods or can simply stub out those that are not required? For example, the create() method is not really used by the GUI as specified. So I can just define an empty method and put in choices.txt that it's to be implemented in the future or do I have to implement its functionality? My argument is that one need to implement the functionality and even consider it an automatic failure if you don't. But you can argue the other way, so like to see what people think here.
2) In the search method, the comment says to match the field starting with the criteria string. But we have a field specialties for the contractor, where it is a list of items. Do you still implement with the "starting" or actually do some interpretation? i.e. if the specialties is "Heating, Electrical", then a criteria of "Heating" would match, but "Electrical" would not. On the other hand, in real life, one would expect both to match.