Class Metier

java.lang.Object
client.metier.Metier

public class Metier extends Object
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 Details

    • Metier

      public Metier(IEnvoyeur iEnvoyeur, INotifieur iNotifieur)
      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 serveur
      iNotifieur - interface de notification pour communiquer avec l'IHM
  • Method Details

    • setClient

      public void setClient(int idClient, String pseudoClient)
      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 serveur
      pseudoClient - le pseudonyme du client connecté
    • connecterAuClient

      public void connecterAuClient(String pseudo, String mdp)
      Tente la connexion d'un client au serveur avec ses identifiants. Crée un événement LOGIN avec le pseudo et le mot de passe, puis l'envoie au serveur.
      Parameters:
      pseudo - le pseudonyme du client
      mdp - le mot de passe du client
    • enregistrerUtilisateur

      public void enregistrerUtilisateur(String pseudo, String mdp)
      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 utilisateur
      mdp - le mot de passe souhaité pour le nouvel utilisateur
    • envoyerMessage

      public void envoyerMessage(String texte)
      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

      public void notifierMessage(ChatEventDTO event)
      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