Projet_POO/Projet_POO/src/nom/GestionnaireNom.java
2020-12-18 09:33:27 +01:00

175 lines
3.9 KiB
Java

package nom;
import java.net.InetAddress;
import liste.GestionnaireListeUtilisateur;
public class GestionnaireNom{
private String idUtilisateur;
private String nomUtilisateur;
static private String ipUtilisateur;
private boolean dansReseau;
//Instance du gestionnaire de nom
static private GestionnaireNom uniqueInstance = null;
//Renvoie le gestionnaire de nom, ou le crée s'il n'existe pas encore
static public GestionnaireNom instance() {
//Si l'instance n'existe pas, on la crée
if (GestionnaireNom.uniqueInstance == null) {
GestionnaireNom.uniqueInstance = new GestionnaireNom();
try {
ipUtilisateur = InetAddress.getLocalHost().getHostName();
}
catch (Exception e) {
System.out.println("Erreur : inetAddres LocalHost (UserIp)");
e.printStackTrace();
}
}
return GestionnaireNom.uniqueInstance;
}
//retourne le NomUtilisateur
public String getNom() {
return nomUtilisateur;
}
//retourne l'ID Utilisateur
public String getId() {
return idUtilisateur;
}
//retorurne l'IP Utilisateur
public String getIp() {
return ipUtilisateur;
}
//retorurne dansReseau
public boolean getdansReseau() {
return dansReseau;
}
// set le NomUtilisateur
public void setNom(String nom) {
nomUtilisateur = nom;
}
//set l'ID Utilisateur
public void setId(String id) {
idUtilisateur = id;
}
//set l'IP Utilisateur
public void setIp(String ip) {
ipUtilisateur = ip;
}
//set dansReseau
public void setDansReseau(boolean dans) {
dansReseau = dans;
}
// renvoie l'ID d'un utilisateur ou "null" 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;
}
// renvoie l'IP d'un utilisateur ou "null" s'il n'existe pas (ou non en ligne)
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 le nom associé à un id ou "null" s'il n'existe pas (ou non en ligne)
public String nomFromId(String id) {
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id.equals(id) ) {
return GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom;
}
}
return null;
}
// renvoie "true" 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.equals(nom)) {
return false;
}
}
return true;
}
// Associe un nom à l'utilisateur et prévient les autres.
public void nommer(String nom) {
setNom(nom);
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp());
}
//debug
public void nommer2(String nom) {
setNom(nom);
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp());
}
// Supprime l'utilisateur et prévient les autres.
public void supprimer() {
GestionnaireListeUtilisateur.instance().envoie("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp());
}
//debug
public void supprimer2() {
GestionnaireListeUtilisateur.instance().envoie2("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp());
}
}