Package chatapp.Model
Class DataBase
java.lang.Object
chatapp.Model.DataBase
public class DataBase
extends java.lang.Object
Classe représentant la Base de données. Celle-ci stocke la liste des utilisateurs ainsi que les échanges entre eux
Format de la table Utilisateurs+--------+-------------+---------+---------------------+
| ID | Pseudo | Actif | Date d'inscription |
+--------+-------------+---------+---------------------+
- Id : Correspond à l'ID de l'utilisateur
- Pseudo : Dernier Pseudo utilisé pour cet ID, va etre remplacé par le pseudo actuel avec majPseudo
- Date d'inscription : Comme son nom l'indique le jour de l'inscription de cet utilisateur
- Actif : Boolean indiquant si l'utilisateur est actif
Chaque communication entres utilisateurs sera stockée dans une table de la forme
+--------------+--------+---------+--------------+
| Destinataire | Source | Message | Date d'envoi |
+--------------+--------+---------+--------------+
- Destinataire : Id du destinataire du message
- Source : Id de celui qui envoie le message
- Message : Msg envoyé
- Date d'envoi : Date a laquelle Source a envoyé le message à destinataire
-
Constructor Summary
Constructors Constructor Description DataBase()
Constructeur de la database
On installe le driver et on établit la connection. -
Method Summary
Modifier and Type Method Description void
ajoutHistorique(java.lang.String iDdest, java.lang.String iDsrc, java.lang.String msg)
Méthode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnéevoid
ajoutUtilisateurs(java.lang.String iD, java.lang.String pseudo)
Méthode permettant d'ajouter un utilisateur dans la base de donnée si celui-ci n'existe pas déjàvoid
creationTableHistorique(java.lang.String iD1, java.lang.String iD2)
Methode permettant de créer une table pour stocker les messages entre deux utilisateursstatic DataBase
getInstance()
Méthode permettant de renvoyer une instance de la classe DataBasejava.lang.String
getNomTable(Utilisateur u1, Utilisateur u2)
Méthode permettant de récupérer le nom de la table où sont stockés les messages de 2 utilisateurs.boolean
idExiste(java.lang.String iD)
Methode permettant de savoir si un utilisateur existe dans la base de donnée 'Utilisateurs'void
majPseudo(java.lang.String iD, java.lang.String pseudo)
Méthode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donneevoid
majUtilisateursActifs(java.lang.Boolean Connecte, java.lang.String Id)
Méthode permettant de mettre a jour les utilisateurs actuellement actifjava.lang.String
recupMsg(java.lang.String iD, java.lang.String iDdestinataire, int deb, int fin)
Méthode permettant de récupérer les messages d'une plage de donnée [deb,fin] envoyés entre 2 utilisateursjava.lang.String
recupNMsg(java.lang.String iD, java.lang.String iDdestinataire, int n)
Méthode permettant de récupérer les N derniers messages envoyés entre 2 utilisateursjava.lang.Integer
tailleBDD(java.lang.String nomTable)
Cette méthode sert à récupérer la taille d'un base de donnée
-
Constructor Details
-
DataBase
public DataBase()Constructeur de la database
On installe le driver et on établit la connection.
-
-
Method Details
-
getInstance
Méthode permettant de renvoyer une instance de la classe DataBase- Returns:
- L'instance du singleton DataBase.
-
creationTableHistorique
public void creationTableHistorique(java.lang.String iD1, java.lang.String iD2)Methode permettant de créer une table pour stocker les messages entre deux utilisateurs- Parameters:
iD1
- Id du premier utilisateuriD2
- Id du second utilisateur
-
majPseudo
public void majPseudo(java.lang.String iD, java.lang.String pseudo)Méthode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee- Parameters:
iD
- Id de l'utilisateur qui vient de changer de pseudopseudo
- Nouveau Pseudo de l'utilisateur
-
ajoutHistorique
public void ajoutHistorique(java.lang.String iDdest, java.lang.String iDsrc, java.lang.String msg)Méthode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnée- Parameters:
iDdest
- Id de l'utilisateur Destinataire du messageiDsrc
- Id de celui qui envoi le messagemsg
- Message envoye entre les deux utilisateurs
-
ajoutUtilisateurs
public void ajoutUtilisateurs(java.lang.String iD, java.lang.String pseudo)Méthode permettant d'ajouter un utilisateur dans la base de donnée si celui-ci n'existe pas déjà- Parameters:
iD
- Id de l'utilisateur que l'on veut rajouterpseudo
- Pseudo actuelle de l'utilisateur
-
majUtilisateursActifs
public void majUtilisateursActifs(java.lang.Boolean Connecte, java.lang.String Id)Méthode permettant de mettre a jour les utilisateurs actuellement actif- Parameters:
Id
- Id de l'utilisateur qui vient de se connecter ou déconnecterConnecte
- Boolean true si il est connecté , false sinon
-
recupNMsg
public java.lang.String recupNMsg(java.lang.String iD, java.lang.String iDdestinataire, int n)Méthode permettant de récupérer les N derniers messages envoyés entre 2 utilisateurs- Parameters:
iD
- Utilisateur associé a ChatAppiDdestinataire
- Celui avec qui correspond IDn
- Le nombre de messages souhaités- Returns:
- Les N derniers Messages
-
recupMsg
public java.lang.String recupMsg(java.lang.String iD, java.lang.String iDdestinataire, int deb, int fin)Méthode permettant de récupérer les messages d'une plage de donnée [deb,fin] envoyés entre 2 utilisateurs- Parameters:
iD
- Utilisateur associé a ChatAppiDdestinataire
- Celui avec qui correspond IDdeb
- On veut les messages à partir de l'indice debfin
- On veut les messages jusqu'a l'indice fin- Returns:
- Les messages d'une plage de donnée [deb,fin]
-
tailleBDD
public java.lang.Integer tailleBDD(java.lang.String nomTable)Cette méthode sert à récupérer la taille d'un base de donnée- Parameters:
nomTable
- Nom de la table de donnée dont on veut récuperer le nom- Returns:
- Taille de la BDD
-
idExiste
public boolean idExiste(java.lang.String iD)Methode permettant de savoir si un utilisateur existe dans la base de donnée 'Utilisateurs'- Parameters:
iD
- On recherche l'utilisateur dont l'ID est ID- Returns:
- True si l'utilisateur existe , False sinon
-
getNomTable
Méthode permettant de récupérer le nom de la table où sont stockés les messages de 2 utilisateurs.- Parameters:
u1
- Un des 2 utilisateursu2
- Le second utilisateur- Returns:
- Le nom de la table des historiques
-