pcuserveur.lib
Class Canal

java.lang.Object
  extended by pcuserveur.lib.Canal
All Implemented Interfaces:
Vide

public class Canal
extends Object
implements Vide

Version:
1.0 Un canal est un groupe de discussion plusieurs-à-plusieurs. Identifié par un nom, unique et sans espaces, il possède également un sujet qui le décrit brièvement, et la liste des gestionnaires de connexion formant le groupe. Sa signature est le triplet ( nom, "sujet", nombreMembres).

Un Canal est caractérisé par les informations suivantes:

Author:
PLU Julien
See Also:
GestionnaireConnexion, Evenement, Serveur, Vide, DejaConnecteException, NonConnecteException

Constructor Summary
Canal()
           Constructeur par défaut.
Canal(String nom1, String sujet1)
           Constructeur paramétré.
 
Method Summary
 void ajouterGC(GestionnaireConnexion gc)
           Ajoute un gestionnaire de connexion au canal.
 void changerSujet(String sujet1)
           Change le sujet du canal.
 void enleverGC(GestionnaireConnexion gc)
           Enlève un gestionnaire de connexion du canal.
 void enleverGC(String login)
           Enlève un gestionnaire de connexion du canal.
 boolean estVide()
           Savoir si le canal est vide.
 String getNom()
           Obtenir le nom du canal, si il existe.
 String getSignature()
           Obtenir la signature du canal.
 String getSujet()
           Obtenir le sujet du canal, si il existe.
 void initialiser(String nom1, String sujet1)
           Initialise le canal, à la façon du constructeur paramétré.
 String listerMembre()
           Initialise le canal, à la façon du constructeur paramétré.
 void notifier(Evenement evenement, String login, String texte)
           Notifie tous les membres du canal, d'un évènement l'affectant.
 void vider()
           Vide le canal.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Canal

public Canal()

Constructeur par défaut.


Canal

public Canal(String nom1,
             String sujet1)

Constructeur paramétré.

Parameters:
nom1 - Le nom.
sujet1 - Le sujet.
Method Detail

ajouterGC

public void ajouterGC(GestionnaireConnexion gc)
               throws DejaConnecteException,
                      IOException

Ajoute un gestionnaire de connexion au canal. Après avoir ajouté gc, les autres membres du canal sont notifiés de son arrivée.

Parameters:
gc - Le gestionnaire de connexion à ajouter.
Throws:
DejaConnecteException - gc est déjà dans le canal.
IOException - Un envoie lors de la notification a échoué.

changerSujet

public void changerSujet(String sujet1)
                  throws IOException

Change le sujet du canal. Après avoir changé le sujet, les autres membres du canal sont notifiés du changement.

Parameters:
sujet1 - Le nouveau sujet.
Throws:
IOException - Un envoie lors de la notification a échoué.

enleverGC

public void enleverGC(GestionnaireConnexion gc)
               throws NonConnecteException,
                      IOException

Enlève un gestionnaire de connexion du canal. Après avoir enlevé gc, les autres membres du canal sont notifiés de son départ.

Parameters:
gc - Le gestionnaire de connexion à retirer.
Throws:
NonConnecteException - gc n'est pas dans le canal.
IOException - Un envoie lors de la notification a échoué.

enleverGC

public void enleverGC(String login)
               throws NonConnecteException

Enlève un gestionnaire de connexion du canal. Après avoir enlevé login, les autres membres du canal sont notifiés de son départ.

Parameters:
login - Login du client à enlever.
Throws:
NonConnecteException - login n'est pas dans le canal.

estVide

public boolean estVide()

Savoir si le canal est vide.

Specified by:
estVide in interface Vide
Returns:
true si le canal est vide, false sinon.

getNom

public String getNom()

Obtenir le nom du canal, si il existe.

Returns:
Le nom, ou null si le canal est vide.

getSignature

public String getSignature()

Obtenir la signature du canal.

Returns:
La signature du canal, ou null si il est vide.

getSujet

public String getSujet()

Obtenir le sujet du canal, si il existe.

Returns:
Le sujet, ou null si le canal est vide.

initialiser

public void initialiser(String nom1,
                        String sujet1)

Initialise le canal, à la façon du constructeur paramétré.

Parameters:
nom1 - Le nom.
sujet1 - Le sujet.

listerMembre

public String listerMembre()

Initialise le canal, à la façon du constructeur paramétré.

Returns:
la liste des membres du canal

notifier

public void notifier(Evenement evenement,
                     String login,
                     String texte)
              throws IOException

Notifie tous les membres du canal, d'un évènement l'affectant.

Parameters:
evenement - L'événement à notifier.
login - Le login. Si il n'est pas pertinant, la chaîne est vide.
texte - Le texte. Si il n'est pas pertinant, la chaîne est vide.
Throws:
IOException - Un envoie lors de la notification a échoué.

vider

public void vider()

Vide le canal. Positionne le nom et le sujet à null, et supprime tous les éléments de la liste des gestionnaires de connexion. A utiliser avec beaucoup de précaution.

Specified by:
vider in interface Vide
See Also:
Vide


Copyright © 2010 PCU. All Rights Reserved.