Public feed #376664

Mine

public java v1 · immutable
Raw Edit
·published 2007-03-01 05:20 UTC
rendered paste body
/* Channel.java */import java.util.*;/** * Classe structurant un Channel (Nom, Topic, liste des Users) */class Channel{	private Vector<User> listeUsers;	private TreeMap<String, User> arbreUsers;	private String leNomChannel;	private String leTopic = "";	private Mode leMode;		/**	 * @param telNomChannel Nom du channel a créer	 */	public Channel(String telNomChannel)	{		leNomChannel = telNomChannel;		listeUsers = new Vector<User>();		arbreUsers = new TreeMap<String, User>();		leMode = new Mode();	}	/**	 * Permet d'ajouter un leMode au channel	 * @param telMode Mode à ajouter	 */	public void setMode(char telMode)	{		leMode.set(telMode);	}	/**	 * Permet de supprimer un leMode	 * @param telMode Mode à supprimer	 */	public void unsetMode(char telMode)	{		leMode.unset(telMode);	}	/**	 * Permet de récupérer le mode du channel	 * @return Retourne le mode du channel	 */	public Mode getMode()	{		return leMode;	}		/**	 * Permet de définir le leTopic du channel	 * @param telTopic Nouveau leTopic pour le channel	 */	public void setTopic(String telTopic)	{		leTopic = telTopic;	}	/**	 * Permet de récupérer le leTopic du channel	 * @return Retourne le leTopic du channel	 */	public String getTopic()	{		return leTopic;	}	/**	 * Permet de trier les users	 */	public void trier()	{		Collections.sort(listeUsers);	}	/**	 * Permet d'ajouter un User au channel	 * @param telUser User à ajouter	 */	public void ajouterUser(User telUser)	{		listeUsers.add(telUser);		trier();		arbreUsers.put(telUser.getNick(), telUser);	}		/**	 * Permet de supprimer un user	 * @param User à supprimer	 */	public void supprimerUser(User telUser)	{		arbreUsers.remove(telUser.getNick());		listeUsers.remove(telUser);	}		/**	 * Permet de supprimer un user, connaissant son nick	 * @param Nick du user à supprimer	 */	public void supprimerUser(String telNick)	{		listeUsers.remove(arbreUsers.get(telNick));		arbreUsers.remove(telNick);	}		/**	 * Permet de récupérer le nom du channel	 * @return Retourne le nom du channel	 */	public String getNomChannel()	{		return leNomChannel;	}	/**	 * Permet de récupérer un User à partir de son nick	 * @param Nick du user	 * @return Retourne le User correspondant	 */	public User getUser(String telNick)	{		return arbreUsers.get(telNick);	}		/**	 * Permet de vérifier qu'un user est présent sur le channel	 * @param Nick du user	 * @return Retourne true si le user est présent sur le channel	 */	public Boolean contientUser(String telNick)	{		return arbreUsers.containsKey(telNick);	}		/**	 * Permt de récupérer la liste de tous les users du channel	 * @return Retourne la liste de tous les users du channel	 */	public Vector<User> getListeUsers()	{		return listeUsers;	}		/**	 * Permet de modifier le nick d'un user tout en gardant l'arbre des users	 * du channel cohérent (changement de la clef)	 * @param telAncienNick Ancien nick du user	 * @param telNouveauNick Nouveau nick du user	 */	public void modifierNick(String telAncienNick, String telNouveauNick)	{		User tmpUser = getUser(telAncienNick);		if(tmpUser != null)		{			tmpUser.setNick(telNouveauNick);			arbreUsers.remove(telAncienNick);			arbreUsers.put(telNouveauNick, tmpUser);		}	}	}