|
The next step will be to define the functions of a "DVD
manager". We'll probably need functions like these:
Table 1: Functions in the DVD Manager
| Function |
Purpose |
Exception thrown? |
| create DVD |
Creates a new DVD in the library |
When the id already exists |
| update DVD |
Updates an existing DVD |
When the id does not exist |
| delete DVD |
Deletes a DVD from the library |
When the id does not exist |
| get DVD |
Retrieves a DVD from the library. If the DVD is not found a
"null" will be returned. |
|
| get All |
Returns a list of all DVDs in the library |
|
| find DVD Title |
Returns all DVDs whose titles contains a given string
| |
This list is not exhaustive. Normally you'll need several
"find"-methods for searching the DVD library,
depending on the properties you might have defined for a
DVD.
The DVD manager is our DAO--the module that interacts
with the back end storing the DVDs. Since we'd like to be able
to define different managers implementing various types of back
ends, we need a Java interface for the manager. Let's call this
interface DVDManagerIF:
package dk.hansen;
import java.util.Collection;
/*
* This is a Data Access Object (DAO)
*/
public interface DVDManagerIF {
public void createDVD(String id, String title) throws DAOException;
public void updateDVD(String id, String title) throws DAOException;
public void deleteDVD(String id) throws DAOException;
public DVD getDVD(String id) throws DAOException;
public Collection getAll() throws DAOException;
public Collection findDVDTitle(String title) throws DAOException;
}
The createDVD and updateDVD methods
use a parameter list for the DVD data, but for a more complex
class you'd probably want to use the DVD class as the parameter.
The getAll and findDVDTitle methods
both return a collection of DVD instances.
Notice that we've decided to use a single Exception class for
all methods. Knowing that the back end could be a database we
must be prepared for handling SQL errors of various kinds, and
we'll wrap them in our own DAOException class,
which simply is an extension of Java's Exception
class:
package dk.hansen;
public class DAOException extends Exception {
public DAOException() {super();}
public DAOException(String message) {super(message);}
public DAOException(Throwable cause) {super(cause);}
public DAOException(String message, Throwable cause) {
super(message, cause);
}
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|