1 package com.panogenesis.dao;
2
3 import java.util.List;
4
5 import com.panogenesis.model.User;
6 import com.panogenesis.model.UserCookie;
7
8 /***
9 * User Data Access Object (DAO) interface.
10 *
11 * <p>
12 * <a href="UserDAO.java.html"><i>View Source</i></a>
13 * </p>
14 *
15 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
16 */
17 public interface UserDAO extends DAO {
18 /***
19 * Gets users information based on login name.
20 * @param username the current username
21 * @return user populated user object
22 */
23 public User getUser(String username);
24
25 /***
26 * Gets a list of users based on parameters passed in.
27 *
28 * @return List populated list of users
29 */
30 public List getUsers(User user);
31
32 /***
33 * Saves a user's information
34 * @param user the object to be saved
35 * @return User the updated user object
36 */
37 public void saveUser(User user);
38
39 /***
40 * Removes a user from the database by id
41 * @param username the user's username
42 */
43 public void removeUser(String username);
44
45 /***
46 * Gets a userCookie object from the database,
47 * based on username and password
48 * @param cookie with username and password
49 */
50 public UserCookie getUserCookie(UserCookie cookie);
51
52 /***
53 * Saves a userCookie object to the database
54 * @param cookie
55 */
56 public void saveUserCookie(UserCookie cookie);
57
58 /***
59 * Removes all cookies for a specified username
60 * @param username
61 */
62 public void removeUserCookies(String username);
63 }