Projet_POO/Projet_POO/src/nom/GestionnaireNom.java

143 righe
3 KiB
Java

package nom;
import liste.ConstanteListeUtilisateur;
import java.util.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import liste.GestionnaireListeUtilisateur;
import liste.UdpBroadcastClient;
public class GestionnaireNom{
private String idUtilisateur;
private String nomUtilisateur;
static private String ipUtilisateur;
//Instance du gestionnaire de liste
static private GestionnaireNom uniqueInstance = null;
//Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore
static public GestionnaireNom instance() {
//Si l'instance n'existe pas, on la créé
if (GestionnaireNom.uniqueInstance == null) {
GestionnaireNom.uniqueInstance = new GestionnaireNom();
try {
ipUtilisateur = InetAddress.getLocalHost().getHostName();
}
catch (Exception e) {}
}
return GestionnaireNom.uniqueInstance;
}
public String getNom() {
return nomUtilisateur;
}
public String getId() {
return idUtilisateur;
}
public String getIp() {
return ipUtilisateur;
}
// attribue le nom "nom" à l'utilisateur
public void setNom(String nom) {
nomUtilisateur = nom;
}
public void setId(String id) {
idUtilisateur = id;
}
public void setIp(String ip) {
ipUtilisateur = ip;
}
// renvoie l'ID d'un utilisateur ou 0 s'il n'existe pas (ou non en ligne)
public String idFromNom(String nom) {
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
return GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id;
}
}
return null;
}
public String ipFromNom(String nom) {
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
return GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).ip;
}
}
return null;
}
// renvoie 1 si le nom est disponible
public boolean verifierDisponibiliteNom(String nom) {
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
return false;
}
}
return true;
}
public boolean nommer(String nom) {
if (verifierDisponibiliteNom(nom)) {
setNom(nom);
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
return true;
}
return false;
}
public boolean nommer2(String nom) {
if (verifierDisponibiliteNom(nom)) {
setNom(nom);
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
return true;
}
return false;
}
}