Class ChatEventDTO

java.lang.Object
common.dto.ChatEventDTO

public class ChatEventDTO extends Object
Classe responsable de la structure des événements de chat échangés en JSON. Cette classe DTO (Data Transfer Object) permet d'avoir un format standardisé et centralisé pour la communication entre le Client et le Serveur. Elle encapsule le type d'événement, les données associées et gère la sérialisation JSON via Gson pour les échanges réseau.
Version:
V1
Author:
MateZone Team, Joshua Hermilly, Prévost Donovan
  • Constructor Details

    • ChatEventDTO

      public ChatEventDTO()
      Constructeur par défaut. Initialise la map de données vide, prête à recevoir des éléments.
    • ChatEventDTO

      public ChatEventDTO(EventEnum type)
      Constructeur avec type d'événement. Initialise l'événement avec un type spécifique et une map de données vide.
      Parameters:
      type - le type d'événement à associer à cette instance
    • ChatEventDTO

      public ChatEventDTO(EventEnum type, List<ChatEventDTO> lstEventDTO)
      Constructeur pour les événements contenant une liste d'autres événements. Utilisé spécifiquement pour les événements de type MESSAGE_LIST.
      Parameters:
      type - le type d'événement (généralement MESSAGE_LIST)
      lstEventDTO - la liste des événements de chat à inclure
  • Method Details

    • getType

      public EventEnum getType()
      Récupère le type d'événement.
      Returns:
      le type d'événement associé à cette instance
    • setType

      public void setType(EventEnum type)
      Définit le type d'événement.
      Parameters:
      type - le nouveau type d'événement à associer
    • getData

      public Map<String,Object> getData()
      Récupère la map des données associées à l'événement.
      Returns:
      la map contenant les données clé-valeur de l'événement
    • setData

      public void setData(Map<String,Object> data)
      Définit la map des données associées à l'événement.
      Parameters:
      data - la nouvelle map de données à associer
    • getLstMes

      public List<ChatEventDTO> getLstMes()
      Récupère la liste des messages (utilisé pour les événements de type MESSAGE_LIST).
      Returns:
      la liste des événements de chat contenus
    • getDataIndex

      public Object getDataIndex(int index)
      Récupère une donnée spécifique par son index dans l'ordre des clés requises. Utilise l'ordre défini dans EventEnum.getRequiredKeys() pour accéder aux données.
      Parameters:
      index - l'index de la donnée dans l'ordre des clés requises du type d'événement
      Returns:
      la valeur associée à l'index, ou null si l'index est invalide
    • getLstEventDTO

      public List<ChatEventDTO> getLstEventDTO()
      Récupère la liste complète des événements de chat.
      Returns:
      la liste des événements de chat contenus
    • setLstEventDTO

      public void setLstEventDTO(List<ChatEventDTO> lstEventDTO)
      Définit la liste des événements de chat.
      Parameters:
      lstEventDTO - la nouvelle liste d'événements à associer
    • add

      public ChatEventDTO add(String key, Object value)
      Ajoute une paire clé-valeur aux données de l'événement. Utilise le pattern Builder pour permettre le chaînage des appels.
      Parameters:
      key - la clé sous laquelle stocker la valeur
      value - la valeur à associer à la clé
      Returns:
      cette instance pour permettre le chaînage des appels
    • jsonToEventDTO

      public static ChatEventDTO jsonToEventDTO(String json)
      Désérialise une chaîne JSON en instance ChatEventDTO. Utilise Gson pour la conversion automatique depuis le format JSON.
      Parameters:
      json - la chaîne JSON à désérialiser
      Returns:
      l'instance ChatEventDTO correspondant au JSON
    • jsonToLstEventDTO

      public static ChatEventDTO jsonToLstEventDTO(String json)
      Désérialise une chaîne JSON en instance ChatEventDTO avec liste d'événements. Spécialement conçue pour les événements de type MESSAGE_LIST qui contiennent une liste d'autres événements de chat.
      Parameters:
      json - la chaîne JSON contenant un événement avec liste
      Returns:
      l'instance ChatEventDTO avec sa liste d'événements correctement configurée
    • toJson

      public String toJson()
      Sérialise cette instance en chaîne JSON. Utilise Gson pour la conversion automatique vers le format JSON.
      Returns:
      la représentation JSON de cette instance
    • toString

      public String toString()
      Représentation textuelle de l'événement de chat. Affiche le type et les données pour faciliter le débogage.
      Overrides:
      toString in class Object
      Returns:
      une chaîne décrivant le type et les données de l'événement