1 /******************************************************************************
2 * RootsDao.java - Dao interface for the Roots
3 *
4 * PicMan - The BuckoSoft Picture Manager in Java
5 * Copyright(c) 2006 - Dick Balaska
6 *
7 */
8 package com.buckosoft.PicMan.db;
9
10 import java.util.List;
11 import org.springframework.dao.DataAccessException;
12
13 import com.buckosoft.PicMan.domain.Root;
14
15 /** Dao interface for the {@link com.buckosoft.PicMan.domain.Root}s. <br>
16 * Note: The <code>Root</code>s are cached and any changes made external to the program will not be properly picked up.
17 * @author Dick Balaska
18 * @since 2006/09/30
19 * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicMan/src/com/buckosoft/PicMan/db/RootsDao.java">RootsDao.java</a>
20 */
21 public interface RootsDao {
22
23 /** Fetch the number of Roots in the database.
24 * @return The count.
25 * @throws DataAccessException It broke.
26 */
27 public int getRootCount() throws DataAccessException;
28
29 /** Fetch a List of all <code>Root</code>s in the database.
30 * @return The List of <code>Root</code>s.
31 * @throws DataAccessException broken.
32 */
33 public List<Root> getRoots() throws DataAccessException;
34
35 /** Fetch the <code>Root</code> that matches this Root ID.
36 * @param rid The Root ID to query.
37 * @return The Root that matches this Root ID or null if not found.
38 * @throws DataAccessException Didn't happen.
39 */
40 public Root getRoot(int rid) throws DataAccessException;
41
42 /** Get the <code>Root</code> that matches this name.
43 * @param rootName The name of the <code>Root</code> to query.
44 * @return The Root that matches this name or null if not found.
45 * @throws DataAccessException needs fixin'.
46 */
47 public Root getRoot(String rootName) throws DataAccessException;
48
49 /** Set the <code>Root</code>s in the database to be this list. <br>
50 * Why you would want to do this, is beyond me. But, here it is...
51 * @param roots The <code>Root</code>s to store.
52 * @throws DataAccessException Help me Lawdy!
53 */
54 public void setRoots(List<Root> roots) throws DataAccessException;
55
56 /** Add this <code>Root</code> to the database.
57 * @param root The <code>Root</code> to store.
58 * @throws DataAccessException not ... gonna ... make ... it.
59 */
60 public void addRoot(Root root) throws DataAccessException;
61
62 /** Delete this <code>Root</code> from the database.
63 * @param root The <code>Root</code> to delete.
64 * @throws DataAccessException died.
65 */
66 public void deleteRoot(Root root) throws DataAccessException;
67
68 /** Get a List of <code>Root</code>s that the user has NOT marked as inactive.
69 * @return The List of <code>Root</code>s.
70 * @throws DataAccessException no joy.
71 */
72 public List<Root> getActiveRoots() throws DataAccessException;
73
74 /** Get a List of <code>Root</code>s that the user has marked as inactive.
75 * @return The List of <code>Root</code>s.
76 * @throws DataAccessException Sorry.
77 */
78 public List<Root> getInactiveRoots() throws DataAccessException;
79
80 /** Update an existing root in the database.
81 * @param root The root to store
82 * @throws DataAccessException
83 */
84 public void storeRoot(Root root) throws DataAccessException;
85 }