Class GestorUsuarios
java.lang.Object
Controlador.GestorUsuarios
Controlador responsable de la gestión de usuarios.
Coordina el registro, inicio y cierre de sesión, validaciones y consultas sobre usuarios. Actúa como intermediario entre la capa de vista y la capa de persistencia.
- Version:
- 1.1
- Author:
- Adrián
-
Field Summary
FieldsModifier and TypeFieldDescriptionLista de usuarios cargada una sola vez al iniciar el gestor.private GestorPersistenciaImplementación de persistencia inyectada por constructor.private UsuarioUsuario que ha iniciado sesión actualmente. -
Constructor Summary
ConstructorsConstructorDescriptionGestorUsuarios(GestorPersistencia persistencia) Crea un nuevo GestorUsuarios con la implementación de persistencia indicada. -
Method Summary
Modifier and TypeMethodDescriptionborrarUsuario(String username) Elimina un usuario del sistema por su username.buscarUsuario(String username) Busca un usuario por su nombre de usuario enlistaUsuarios.voidCierra la sesión del usuario actual.booleanComprueba si el usuario con sesión activa es administrador.Devuelve la lista completa de usuarios registrados en el sistema.Devuelve el usuario que tiene la sesión activa.iniciarSesion(String username, String contrasena) Intenta iniciar sesión con las credenciales proporcionadas.registrarUsuario(String username, String contrasena) Registra un nuevo jugador si las credenciales superan las validaciones y el username no está ya en uso.private StringvalidarPassword(String password) Valida el formato de la contraseña.private StringvalidarUsername(String username) Valida el formato del nombre de usuario.
-
Field Details
-
persistencia
Implementación de persistencia inyectada por constructor. -
listaUsuarios
-
usuarioActual
Usuario que ha iniciado sesión actualmente. Null si no hay sesión activa.
-
-
Constructor Details
-
GestorUsuarios
Crea un nuevo GestorUsuarios con la implementación de persistencia indicada. Carga la lista de usuarios desde disco una única vez.- Parameters:
persistencia- implementación deGestorPersistenciaa utilizar
-
-
Method Details
-
iniciarSesion
Intenta iniciar sesión con las credenciales proporcionadas.Busca el username en
listaUsuariosy verifica la contraseña. Si las credenciales son correctas, guarda el usuario enusuarioActual.- Parameters:
username- nombre de usuariocontrasena- contraseña en texto plano- Returns:
- el
Usuarioautenticado, onullsi las credenciales son incorrectas
-
registrarUsuario
Registra un nuevo jugador si las credenciales superan las validaciones y el username no está ya en uso.- Parameters:
username- nombre de usuario deseadocontrasena- contraseña deseada- Returns:
nullsi el registro fue exitoso, o un mensaje de error si falló
-
validarUsername
-
validarPassword
Valida el formato de la contraseña.Reglas: no vacía, mínimo 8 caracteres, sin punto y coma. El punto y coma está prohibido porque es el separador usado en los ficheros de persistencia; permitirlo rompería la deserialización.
- Parameters:
password- contraseña a validar- Returns:
nullsi es válida, o mensaje de error si no lo es
-
cerrarSesion
public void cerrarSesion()Cierra la sesión del usuario actual. Tras llamar a este método,getUsuarioActual()devolveránull. -
getUsuarioActual
-
buscarUsuario
-
esAdministrador
public boolean esAdministrador()Comprueba si el usuario con sesión activa es administrador.- Returns:
truesiusuarioActuales instancia deAdministrador
-
getListaUsuarios
-
borrarUsuario
Elimina un usuario del sistema por su username. Restricciones: no se puede borrar al propio usuario con sesión activa, ni a otro administrador.- Parameters:
username- nombre de usuario a eliminar- Returns:
nullsi se eliminó correctamente, o un mensaje de error
-