JChat
Class JChatServer

java.lang.Object
  |
  +--JChat.JChatServer

public class JChatServer
extends java.lang.Object

JChat Classe Servidor / Server Class


Constructor Summary
JChatServer(int port)
          Cria um novo JChatServer / Creates a new JChat Server
 
Method Summary
 void atualizaCanal(java.lang.String canal, java.lang.String usuario, boolean entrando)
          adiciona ou tira um usuario de um canal / adds or removes a user from a channel
 void chNickOnChannels(java.lang.String antigo, java.lang.String novo)
          troca um nickname por outro em todos os canais / changes a nickname for another in all the servers channels
 void createChannel(java.lang.String nome)
          Cria um canal no servidor / Creates a channel on the server
protected  void disconnect()
          finaliza o estado de listen / closes the listening state
 JChatChannel FindChannel(java.lang.String nome)
          acha um canal no servidor / finds a channel in the server
 JChat.JChatServer.ClientThread FindUser(java.lang.String nickname)
          procura por um usuário no servidor / searches for a user on the server
 java.lang.String GetBufferMessage()
          recupera mensagens gravadas para que as mesmas possam ser tratadas pela interface - as mensagens são gravadas e acessadas de forma sequencial / returns logging messages so they can be shown at a GUI interface - these messages are internally stored and can be accessible sequentially
 java.util.Vector getChannels()
          método para retornar os canais no servidor / method to get the server channels
 int getPort()
          retorna a porta de escuta / returns the listening port
 void Listen()
          Bloqueia a porta e coloca-a em estado de escuta (um thread é criado para isto) / Blocks the port and places it in Listen status (a Thread is created for that)
 void Log(java.lang.String line)
          loga erros e eventos para arquivos ou buffer / Logs any errors or events to file or buffer
static void main(java.lang.String[] args)
           
 void removeChannel(java.lang.String nome)
          remove um canal do servidor / removes a channel from the server
protected  void sendToChannel(JChatChannel canal, Message msg)
          envia uma mensagem para todos os clientes no canal / Sends a message to every client on a channel
 void setFileLogging(boolean state)
          seta o log em arquivos / Sets the file logging true or false
 void setPort(int port)
          seta a porta de serviço / sets the server's port
 void stopListening()
          Desbloqueia a porta e para de receber conexoes / Unblocks the port and stops receiving connections
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JChatServer

public JChatServer(int port)
            throws java.io.IOException
Cria um novo JChatServer / Creates a new JChat Server
Parameters:
port - a porta de escuta / the server listening port
Throws:
java.io.IOException -  
Method Detail

Listen

public void Listen()
            throws java.io.IOException
Bloqueia a porta e coloca-a em estado de escuta (um thread é criado para isto) / Blocks the port and places it in Listen status (a Thread is created for that)
Throws:
java.io.IOException -  

stopListening

public void stopListening()
                   throws java.io.IOException
Desbloqueia a porta e para de receber conexoes / Unblocks the port and stops receiving connections
Throws:
java.io.IOException -  

setPort

public void setPort(int port)
seta a porta de serviço / sets the server's port
Parameters:
port - o número da porta / the port number

getPort

public int getPort()
retorna a porta de escuta / returns the listening port
Returns:
a porta atual / the actual port

disconnect

protected void disconnect()
                   throws java.net.SocketException
finaliza o estado de listen / closes the listening state

setFileLogging

public void setFileLogging(boolean state)
seta o log em arquivos / Sets the file logging true or false
Parameters:
state - o estado atual de log - true abre o arquivo, false fecha / the actual logging state - true opens the file for writing, false closes it

Log

public void Log(java.lang.String line)
loga erros e eventos para arquivos ou buffer / Logs any errors or events to file or buffer
Parameters:
line - a linha a ser gravada / the line to be recorded

GetBufferMessage

public java.lang.String GetBufferMessage()
recupera mensagens gravadas para que as mesmas possam ser tratadas pela interface - as mensagens são gravadas e acessadas de forma sequencial / returns logging messages so they can be shown at a GUI interface - these messages are internally stored and can be accessible sequentially
Returns:
a primeira mensagem gravada no buffer / messages stored on the buffer

FindUser

public JChat.JChatServer.ClientThread FindUser(java.lang.String nickname)
procura por um usuário no servidor / searches for a user on the server
Parameters:
nickname - o nickname do cliente / the client's nickname
Returns:
retorna uma referência ao ClientThread do cliente procurado / returns a reference to the required client ClientThread

FindChannel

public JChatChannel FindChannel(java.lang.String nome)
acha um canal no servidor / finds a channel in the server
Parameters:
nome - o nome do canal / the channel's name
Returns:
uma referencia ao JChatChannel do canal / a reference to the channel's JChatChannel

createChannel

public void createChannel(java.lang.String nome)
Cria um canal no servidor / Creates a channel on the server
Parameters:
nome - o nome do canal / the channel's name

getChannels

public java.util.Vector getChannels()
método para retornar os canais no servidor / method to get the server channels
Returns:
retorna a lista de canais - um vetor de JChatChannels / returns the list of channels - a Vector of JChatChannels

removeChannel

public void removeChannel(java.lang.String nome)
remove um canal do servidor / removes a channel from the server
Parameters:
nome - o nome do canal / the channel's name

atualizaCanal

public void atualizaCanal(java.lang.String canal,
                          java.lang.String usuario,
                          boolean entrando)
                   throws java.io.IOException
adiciona ou tira um usuario de um canal / adds or removes a user from a channel
Parameters:
canal - o canal a ser atualizado / the channel to be atualized
usuario - o usuário a modificar / the user to modify
entrando - true indica um usuário entrando no canal, false indica saindo / true means that 'usuario' is entering channel, false means he is leaving
Throws:
java.io.IOException -  

sendToChannel

protected void sendToChannel(JChatChannel canal,
                             Message msg)
                      throws java.io.IOException
envia uma mensagem para todos os clientes no canal / Sends a message to every client on a channel
Parameters:
canal - o nome do canal-alvo / name of the target channel
msg - a mensagem a ser enviada / message to be sent to it
Throws:
java.io.IOException -  
See Also:
ToChannelMsg

chNickOnChannels

public void chNickOnChannels(java.lang.String antigo,
                             java.lang.String novo)
troca um nickname por outro em todos os canais / changes a nickname for another in all the servers channels
Parameters:
antigo - o nick antigo / the old nickname
novo - o nick novo / the new nickname

main

public static void main(java.lang.String[] args)