# Class GestionRappel

java.lang.Object
fr.iutfbleau.papillon.GestionRappel

public class GestionRappel extends Object
La classe `GestionRappel` gère les opérations CRUD (création, lecture, modification, suppression) sur les rappels associés à l’utilisateur courant.

Elle s’appuie sur les classes `Rappel`, `RappelBD`, `UserKey` et `UtilisateurBD` pour interagir avec la base de données.

## Constructor Summary

Constructors
Constructor
Description
`GestionRappel()`
Constructeur de la classe `GestionRappel`.

## Method Summary

Modifier and Type
Method
Description
`int`
`ajouter(String titre, String contenu, String theme, int rang)`
Ajoute un nouveau rappel pour l’utilisateur courant.
`int`
`getUtilisateurId()`
Renvoie l’identifiant de l’utilisateur courant.
`List<Rappel>`
`lister()`
Liste tous les rappels appartenant à l’utilisateur courant.
`int`
`modifierParId(int id, Rappel r)`
Modifie un rappel existant à partir de son identifiant.
`int`
`supprimerParId(int id)`
Supprime un rappel de la base de données selon son identifiant.
`int`
`viderTousMesRappels()`
Supprime tous les rappels appartenant à l’utilisateur courant.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### GestionRappel

public GestionRappel()
Constructeur de la classe `GestionRappel`.

Initialise l’identifiant utilisateur en se basant sur la clé locale. Si aucun utilisateur n’existe encore, il est automatiquement créé dans la base de données.

## Method Details

### ajouter

public int ajouter(String titre, String contenu, String theme, int rang) throws SQLException
Ajoute un nouveau rappel pour l’utilisateur courant.

Parameters:
  `titre` - le titre du rappel
  `contenu` - le contenu textuel du rappel
  `theme` - le thème associé au rappel
  `rang` - la priorité du rappel
Returns:
  le nombre de lignes affectées ou l’ID du rappel ajouté
Throws:
  `SQLException` - si une erreur survient lors de l’ajout

### lister

public List<Rappel> lister() throws SQLException
Liste tous les rappels appartenant à l’utilisateur courant.

Returns:
  la liste des rappels de l’utilisateur
Throws:
  `SQLException` - si une erreur de communication avec la base survient

### modifierParId

public int modifierParId(int id, Rappel r) throws SQLException
Modifie un rappel existant à partir de son identifiant.

Parameters:
  `id` - l’identifiant du rappel à modifier
  `r` - l’objet `Rappel` contenant les nouvelles valeurs
Returns:
  le nombre de lignes modifiées
Throws:
  `SQLException` - si une erreur survient lors de la mise à jour

### supprimerParId

public int supprimerParId(int id) throws SQLException
Supprime un rappel de la base de données selon son identifiant.

Parameters:
  `id` - l’identifiant du rappel à supprimer
Returns:
  le nombre de lignes supprimées
Throws:
  `SQLException` - si une erreur survient lors de la suppression

### viderTousMesRappels

public int viderTousMesRappels() throws SQLException
Supprime tous les rappels appartenant à l’utilisateur courant.

Returns:
  le nombre de rappels supprimés
Throws:
  `SQLException` - si une erreur survient lors de la suppression

### getUtilisateurId

public int getUtilisateurId()
Renvoie l’identifiant de l’utilisateur courant.

Returns:
  l’ID utilisateur