Class Metier
java.lang.Object
client.metier.Metier
Classe Métier - Gère la logique métier de l'application de chat MateZone.
Cette classe fait le lien entre l'interface utilisateur (IHM) et la couche
infrastructure.
Elle encapsule les règles business, gère l'état du client connecté et
orchestre
les interactions avec le serveur via l'interface IEnvoyeur.
La passerelle vers le serveur se fait grâce à l'interface IEnvoyeur.
- Version:
- V1
- Author:
- Joshua Hermilly
-
Constructor Summary
ConstructorsConstructorDescriptionMetier(IEnvoyeur iEnvoyeur, INotifieur iNotifieur) Constructeur de la classe Métier. -
Method Summary
Modifier and TypeMethodDescriptionvoidconnecterAuClient(String pseudo, String mdp) Tente la connexion d'un client au serveur avec ses identifiants.voidenregistrerUtilisateur(String pseudo, String mdp) Enregistre un nouvel utilisateur sur le serveur.voidenvoyerMessage(String texte) Envoie un message texte dans le canal de chat actuel.voidenvoyerPieceJoint(byte[] bytes) Envoie une pièce jointe (image) dans le canal de chat actuel.voidnotifierMessage(ChatEventDTO event) Traite les événements de notification reçus du serveur.voidConfigure les informations du client après une connexion réussie.
-
Constructor Details
-
Metier
Constructeur de la classe Métier. Initialise les interfaces d'envoi et de notification pour la communication bidirectionnelle entre l'IHM et le serveur.- Parameters:
iEnvoyeur- interface d'envoi pour communiquer avec le serveuriNotifieur- interface de notification pour communiquer avec l'IHM
-
-
Method Details
-
setClient
Configure les informations du client après une connexion réussie. Met à jour l'identifiant et le pseudonyme du client, puis notifie l'IHM du succès de la connexion.- Parameters:
idClient- l'identifiant unique attribué au client par le serveurpseudoClient- le pseudonyme du client connecté
-
connecterAuClient
-
enregistrerUtilisateur
Enregistre un nouvel utilisateur sur le serveur. Crée un événement SIGNUP avec les identifiants, l'envoie au serveur, puis tente automatiquement la connexion avec ces mêmes identifiants.- Parameters:
pseudo- le pseudonyme souhaité pour le nouvel utilisateurmdp- le mot de passe souhaité pour le nouvel utilisateur
-
envoyerMessage
Envoie un message texte dans le canal de chat actuel. Crée un événement NEW_MESSAGE avec l'identifiant du client, du canal et le contenu, puis l'envoie au serveur. Affiche des informations de débogage dans la console.- Parameters:
texte- le contenu du message à envoyer
-
envoyerPieceJoint
public void envoyerPieceJoint(byte[] bytes) Envoie une pièce jointe (image) dans le canal de chat actuel. Crée un événement NEW_MESSAGE_IMG avec l'identifiant du canal, du client et les données binaires de la pièce jointe, puis l'envoie au serveur.- Parameters:
bytes- les données binaires de la pièce jointe à envoyer
-
notifierMessage
Traite les événements de notification reçus du serveur. Analyse le type d'événement et effectue l'action appropriée : - SUCCESS_LOGIN/SUCCESS_SIGNUP : configure le client et initialise le canal - MESSAGE_LIST : affiche la liste des messages via l'IHM - MESSAGE : affiche un nouveau message via l'IHM - ERROR : notifie l'erreur à l'utilisateur via l'IHM- Parameters:
event- l'événement de chat reçu du serveur à traiter
-