/* * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * * This file is part of jAPS software. * jAPS is a free software; * you can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2. * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * */ package com.agiletec.aps.system.services.user; import java.util.List; /** * Interfaccia base per Data Access Object degli oggetti User (User). * @version 1.0 * @author M.Diana - E.Santoboni */ public interface IUserDAO { /** * Carica e restituisce la lista completa di utenti. * @return La lista completa di utenti. */ public List<UserDetails> loadUsers(); /** * Restituisce la lista di utenti ricavata dalla ricerca sulla username (o porzione di essa). * @param text Il testo tramite il quale effettuare la ricerca sulla username. * @return La lista di utenti ricavati. */ public List<UserDetails> searchUsers(String text); /** * Carica un'utente corrispondente alla userName e password immessa. * null se non vi è nessun utente corrispondente. * @param username Nome utente dell'utente cercato * @param password password dell'utente cercato * @return L'oggetto utente corrispondente ai parametri richiesti, oppure * null se non vi è nessun utente corrispondente. */ public UserDetails loadUser(String username, String password); /** * Carica un'utente corrispondente alla userName immessa. null * se non vi è nessun utente corrispondente. * @param username Nome utente dell'utente cercato. * @return L'oggetto utente corrispondente ai parametri richiesti, * oppure null se non vi è nessun utente corrispondente. */ public UserDetails loadUser(String username); /** * Cancella l'utente. * @param user L'oggetto di tipo User relativo all'utente da cancellare. */ public void deleteUser(UserDetails user); /** * Cancella l'utente corrispondente alla userName immessa. * @param username Il nome identificatore dell'utente. */ public void deleteUser(String username); /** * Aggiunge un nuovo utente. * @param user Oggetto di tipo User relativo all'utente da aggiungere. */ public void addUser(UserDetails user); /** * Aggiorna un utente già presente con nuovi valori * (tranne la username che è fissa). * @param user Oggetto di tipo User relativo all'utente da aggiornare. */ public void updateUser(UserDetails user); /** * Carica gli utenti membri di un gruppo. * @param groupName Il nome del grupo tramite il quale cercare gli utenti. * @return La lista degli utenti (oggetti User) membri del gruppo specificato. * @deprecated USE loadUsernamesForGroup and load single users from current UserManager. */ public List<UserDetails> loadUsersForGroup(String groupName); /** * Carica la lista di usernames correlati con il gruppo specificato. * @param groupName Il nome del gruppo tramite il quale cercare i nomi utenti. * @return La lista di usernames correlati con il gruppo specificato. */ public List<String> loadUsernamesForGroup(String groupName); /** * Effettua l'aggiornamento della password di un'utente. * @param username La username dell'utente a cui aggiornare la password. * @param password La nuova password. */ public void changePassword(String username, String password); public void updateLastAccess(String username); }