uniandes.cupi2.messengerAmigos.cliente
Class Usuario

java.lang.Object
  extended by uniandes.cupi2.messengerAmigos.cliente.Usuario
All Implemented Interfaces:
java.lang.Comparable

public class Usuario
extends java.lang.Object
implements java.lang.Comparable

Esta clase representa a un usuario del messenger.
inv:
estado = ONLINE o estado = OFFLINE
estado = OFFLINE => direccionIp = null
estado = ONLINE => direccionIp != null
nombre != null y nombre != ""


Field Summary
static int OFFLINE
          Indica que el usuario está desconectado
static int ONLINE
          Indica que el usuario está conectado
static java.lang.String STR_OFFLINE
          Indica que el usuario está desconectado
static java.lang.String STR_ONLINE
          Indica que el usuario está conectado
 
Constructor Summary
Usuario(java.lang.String nombreUsuario)
          Crea un nuevo usuario cuyo estado es OFFLINE
Usuario(java.lang.String nombreUsuario, java.lang.String ipUsuario, int puertoUsuario)
          Crea un nuevo usuario cuyo estado es ONLINE
 
Method Summary
 void cambiarEstado()
          Cambia el estado del usuario a OFFLINE
 void cambiarEstado(java.lang.String ipUsuario, int puertoUsuario)
          Cambia el estado del usuario a ONLINE
 int compareTo(java.lang.Object otro)
          Compara a este usuario con otro.
 java.lang.String darDireccionIp()
          Retorna la dirección ip actual del usuario
 int darEstado()
          Retorna el estado del usuario
 java.lang.String darNombre()
          Retorna el nombre del usuario
 int darPuerto()
          Retorna el puerto a través del cual se debe conectar al usuario
 java.lang.String toString()
          Retorna una cadena que identifica al usuario
 void verificarInvariante()
          Verifica el invariante de la clase
inv:
estado = ONLINE o estado = OFFLINE
estado = OFFLINE => direccionIp = null
estado = ONLINE => direccionIp !
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ONLINE

public static final int ONLINE
Indica que el usuario está conectado

See Also:
Constant Field Values

OFFLINE

public static final int OFFLINE
Indica que el usuario está desconectado

See Also:
Constant Field Values

STR_ONLINE

public static final java.lang.String STR_ONLINE
Indica que el usuario está conectado

See Also:
Constant Field Values

STR_OFFLINE

public static final java.lang.String STR_OFFLINE
Indica que el usuario está desconectado

See Also:
Constant Field Values
Constructor Detail

Usuario

public Usuario(java.lang.String nombreUsuario)
Crea un nuevo usuario cuyo estado es OFFLINE

Parameters:
nombreUsuario - Nombre del usuario - nombreUsuario != null && nombreUsuario != ""

Usuario

public Usuario(java.lang.String nombreUsuario,
               java.lang.String ipUsuario,
               int puertoUsuario)
Crea un nuevo usuario cuyo estado es ONLINE

Parameters:
nombreUsuario - Nombre del usuario - nombreUsuario != null && nombreUsuario != ""
ipUsuario - Direccion ip actual del usuario - ipUsuario != null && ipUsuario != ""
puertoUsuario - El puerto a través del cual se debe realizar la conexión con el usuario
Method Detail

darEstado

public int darEstado()
Retorna el estado del usuario

Returns:
estado

darNombre

public java.lang.String darNombre()
Retorna el nombre del usuario

Returns:
nombre

darDireccionIp

public java.lang.String darDireccionIp()
Retorna la dirección ip actual del usuario

Returns:
direccionIp

darPuerto

public int darPuerto()
Retorna el puerto a través del cual se debe conectar al usuario

Returns:
puerto

cambiarEstado

public void cambiarEstado()
Cambia el estado del usuario a OFFLINE


cambiarEstado

public void cambiarEstado(java.lang.String ipUsuario,
                          int puertoUsuario)
Cambia el estado del usuario a ONLINE

Parameters:
ipUsuario - Direccion ip actual del usuario - ipUsuario != null && ipUsuario != ""
puertoUsuario - El puerto a través del cual se debe realizar la conexión con el usuario

toString

public java.lang.String toString()
Retorna una cadena que identifica al usuario

Overrides:
toString in class java.lang.Object
Returns:
cadena

compareTo

public int compareTo(java.lang.Object otro)
Compara a este usuario con otro. El criterio para decidir si un usuario es menor que otro es el órden lexicográfico de sus nombres.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
otro - Es el usuario con el que se va a comparar - otro != null && otro es un Usuario
Returns:
Retorna -1 si this < otro, 0 si this = otro y 1 si this > otro

verificarInvariante

public void verificarInvariante()
Verifica el invariante de la clase
inv:
estado = ONLINE o estado = OFFLINE
estado = OFFLINE => direccionIp = null
estado = ONLINE => direccionIp != null
nombre != null y nombre != ""