View Javadoc

1   package org.sourceforge.vlibrary.user.dao;
2   
3   
4   import java.util.ArrayList;
5   
6   import org.sourceforge.vlibrary.exceptions.LibraryException;
7   import org.sourceforge.vlibrary.user.domain.Subject;
8   
9   
10  /**
11   * @version $Revision$ $Date$
12   */
13  
14  public interface SubjectDAO {
15      /******************************************************************************
16       * Inserts *this* into the database. Has the side effect of
17       *  setting this.id to the sequentially generated id of the new record.
18       *  First checks to see if a subject with this.description exists.
19       *  If so, no insert is performed, but this.id is updated to the id of
20       *  the previously existing record.  Delegates to insert(Connection).
21       *
22       * @throws LibraryException
23       *****************************************************************************/
24      public Subject insert( Subject subject ) throws LibraryException;
25      
26      /******************************************************************************
27       * Walks input ArrayList pf {@link Subject} instances, looking up and
28       * setting ID properties for each Subject in the list.  Lookup is based on
29       * the description property. If a Subject is not found, a new entry is
30       * inserted into the database and the ID of the newly created record is
31       * assigned to the instance.
32       *
33       * @param subjects = ArrayList of Subjects
34       * @exception LibraryException if the list contains objects that are not
35       * Subject instances or a data access error occurs
36       *****************************************************************************/
37      public void setSubjectIds(ArrayList subjects)throws LibraryException;
38      
39      /******************************************************************************
40       * Retrieves all subjects from the database
41       *
42       * @return ArrayList of Subject object, if none found returns empty ArrayList
43       * @throws LibraryException
44       *****************************************************************************/
45      public ArrayList getSubjects() throws LibraryException;
46      
47      public Long getSubjectIdByDescription( Subject subject ) throws LibraryException;
48      
49  }