View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.dao;
24  
25  import java.util.List;
26  
27  import org.springframework.security.userdetails.UserDetails;
28  import org.springframework.security.userdetails.UsernameNotFoundException;
29  
30  import com.gisgraphy.model.User;
31  
32  /**
33   * User Data Access Object (GenericDao) interface.
34   * 
35   * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
36   */
37  public interface UserDao extends GenericDao<User, Long> {
38  
39      /**
40       * Gets users information based on login name.
41       * 
42       * @param username
43       *                the user's username
44       * @return userDetails populated userDetails object
45       * @throws org.acegisecurity.userdetails.UsernameNotFoundException
46       *                 thrown when user not found in database
47       */
48     // @Transactional
49      UserDetails loadUserByUsername(String username)
50  	    throws UsernameNotFoundException;
51  
52      /**
53       * Gets a list of users ordered by the uppercase version of their username.
54       * 
55       * @return List populated list of users
56       */
57      List<User> getUsers();
58  
59      /**
60       * Saves a user's information.
61       * 
62       * @param user
63       *                the object to be saved
64       * @return the persisted User object
65       */
66      User saveUser(User user);
67  }