Class User

java.lang.Object
com.tt1.simserver.model.User

public class User extends Object
Identifica a un cliente dentro del servidor y agrupa todas las solicitudes de simulación que ha creado.
  • Constructor Details

    • User

      public User(String username)
      Registra un nuevo perfil de usuario en el sistema.

      Precondición: username no es nulo, no está vacío y contiene caracteres válidos (no solo espacios o saltos de línea).

      Postcondición: El usuario queda inicializado con el nombre indicado y con un historial de simulaciones vacío.

      Parameters:
      username - el nombre identificador para esta cuenta.
  • Method Details

    • getUsername

      public String getUsername()
      Obtiene el nombre del usuario.

      Precondición: Ninguna.

      Postcondición: Devuelve la cadena de texto exacta con el nombre de cuenta asignado en su registro.

      Returns:
      el nombre del usuario.
    • existsSimulation

      public boolean existsSimulation(int token)
      Comprueba si una simulación fue pedida por este usuario.

      Precondición: token es un identificador numérico mayor o igual a cero.

      Postcondición: Devuelve verdadero si el token se encuentra en el historial del usuario. Devuelve falso si el token no existe o pertenece a otro cliente.

      Parameters:
      token - el identificador de la simulación.
      Returns:
      verdadero si el usuario es dueño del token, falso en caso contrario.
    • getSimulationStatus

      public SimulationStatus getSimulationStatus(int token)
      Recupera el estado actual de una simulación de este usuario.

      Precondición: El usuario es el dueño de la simulación (existsSimulation(token) es verdadero).

      Postcondición: Devuelve el estado de ejecución (pendiente, en ejecución o completado) extraído de su gestor interno.

      Parameters:
      token - el identificador de la simulación consultada.
      Returns:
      el estado de la simulación.
    • getSimulationResult

      public SimulationResult getSimulationResult(int token)
      Recupera el historial de un tablero tras finalizar su simulación.

      Precondición: El usuario es el dueño de la simulación (existsSimulation(token) es verdadero).

      Postcondición: Devuelve el objeto con los pasos generados por la simulación. Puede ser nulo si la simulación todavía no ha terminado sus turnos.

      Parameters:
      token - el identificador de la simulación.
      Returns:
      los resultados del tablero asociado al token.
    • getTokens

      public Collection<Integer> getTokens()
      Obtiene la lista con todos los identificadores de simulación de este usuario.

      Precondición: Ninguna.

      Postcondición: Devuelve una colección que contiene todos los tokens generados para este usuario. La colección está vacía si el usuario no ha creado ninguna petición.

      Returns:
      una colección con los números de los tokens.
    • addRequest

      public void addRequest(SimulationManagerInterface simulationManager)
      Vincula una nueva solicitud de simulación al historial del usuario.

      Precondición: simulationManager no es nulo y tiene un token válido asignado (mayor o igual a cero).

      Postcondición: El gestor de la simulación se archiva en la cuenta de este usuario y estará accesible usando su token.

      Parameters:
      simulationManager - el gestor de la tarea iniciada.
    • equals

      public boolean equals(Object other)
      Compara este usuario con otro perfil basándose en su nombre.

      Precondición: Ninguna.

      Postcondición: Devuelve verdadero solo si el objeto proporcionado es un usuario y posee exactamente la misma cadena de texto en su nombre (incluyendo mayúsculas). Devuelve falso en caso contrario.

      Overrides:
      equals in class Object
      Parameters:
      other - el objeto a comparar con este usuario.
      Returns:
      verdadero si comparten el mismo nombre, falso si son distintos.