Class ModelPanelController<M extends Model>

java.lang.Object
ece.ing3.java.projet.controleur.panels.ModelPanelController<M>
Type Parameters:
M - Type de modèle à utiliser
All Implemented Interfaces:
DialogListener, ModelQueryWorkerProvider<M>, ModelWorkerProvider, ActionListener, EventListener
Direct Known Subclasses:
ChambrePanelController, DocteurPanelController, EmployePanelController, HospitalisationPanelController, InfirmierPanelController, MaladePanelController, ServicePanelController, SoignePanelController

public abstract class ModelPanelController<M extends Model> extends Object implements ActionListener, DialogListener, ModelQueryWorkerProvider<M>, ModelWorkerProvider
Base de contrôleur de panneau d'affichage, sélection, recherche et modification de modèle générique
Author:
Virgile, Nicolas, Louis-Félix
  • Method Details

    • getModelClass

      public abstract Class<M> getModelClass()
      Récupère la classe associée au modèle utilisé
      Specified by:
      getModelClass in interface ModelQueryWorkerProvider<M extends Model>
      Returns:
      Classe du modèle
    • queryModifyWhereClause

      public Where queryModifyWhereClause(Where whereClause)
      Modifie la clause Where avant exécution de la mise à jour des données.
      Specified by:
      queryModifyWhereClause in interface ModelQueryWorkerProvider<M extends Model>
      Parameters:
      whereClause - Clause Where à modifier
      Returns:
      Nouvelle clause Where
    • queryModifyOrderByClause

      public OrderBy queryModifyOrderByClause(OrderBy orderByClause)
      Modifie la clause OrderBy avant exécution de la mise à jour des données. Ordonne par défaut selon les IDs des modèles.
      Specified by:
      queryModifyOrderByClause in interface ModelQueryWorkerProvider<M extends Model>
      Parameters:
      orderByClause - Clause OrderBy à modifier
      Returns:
      Nouvelle clause OrderBy
    • queryCreateSelector

      public SQLSelect<M> queryCreateSelector()
      Créer un nouveau sélecteur SQL associé au modèle.
      Specified by:
      queryCreateSelector in interface ModelQueryWorkerProvider<M extends Model>
      Returns:
      Sélecteur SQL
    • getPanel

      public ModelPanel<M> getPanel()
      Récupère le panneau d'affichage, sélection, recherche et modification associé.
      Returns:
      Panneau d'affichage, sélection, recherche et modification
    • getTableModel

      public TableModel<M> getTableModel()
      Récupère le modèle de table associé.
      Specified by:
      getTableModel in interface ModelQueryWorkerProvider<M extends Model>
      Returns:
      Modèle de table associé
    • getWhereClause

      public Where getWhereClause()
      Récupère la clause Where actuelle, non-modifiée.
      Specified by:
      getWhereClause in interface ModelQueryWorkerProvider<M extends Model>
      Returns:
      Clause Where actuelle
    • getOrderByClause

      public OrderBy getOrderByClause()
      Récupère la clause OrderBy actuelle, non-modifiée.
      Specified by:
      getOrderByClause in interface ModelQueryWorkerProvider<M extends Model>
      Returns:
      Clause OrderBy actuelle
    • createSearchDialog

      public abstract ModelSearchDialog createSearchDialog()
      Créer une nouvelle boîte de dialogue de recherche associée au modèle.
      Returns:
      Boîte de dialogue de recherche
    • createUpdateDialog

      public abstract ModelUpdateDialog<M> createUpdateDialog(M existingModel)
      Créer une nouvelle boîte de dialogue de mise à jour associée au modèle.
      Parameters:
      existingModel - Instance de modèle BDD existant ou null
      Returns:
      Boîte de dialogue de mise à jour
    • createDeleteDialog

      public ModelDeleteDialog createDeleteDialog()
      Créer une nouvelle boîte de dialogue de suppression associée au modèle.
      Returns:
      Boîte de dialogue de suppression
    • update

      public void update()
      Récupère et met à jour la liste affichée par rapport à la base de donnée.
    • actionPerformed

      public void actionPerformed(ActionEvent actionEvent)
      Méthode réagissant au choix de l'utilisateur sur le panneau (notamment la barre d'outils).
      Specified by:
      actionPerformed in interface ActionListener
      Parameters:
      actionEvent - Événement d'action
    • onDialogSubmitted

      public void onDialogSubmitted(JDialog dialog)
      Méthode régissant à la validation d'une boîte de dialogue.
      Specified by:
      onDialogSubmitted in interface DialogListener
      Parameters:
      dialog - Boîte de dialogue validée
    • onDialogCancelled

      public void onDialogCancelled(JDialog dialog)
      Méthode réagissant à l'annulation d'une boîte de dialogue.
      Specified by:
      onDialogCancelled in interface DialogListener
      Parameters:
      dialog - Boîte de dialogue annulée
    • queryOnFinish

      public void queryOnFinish()
      Actions à effectuer à la fin d'une requête de mise à jour.
      Specified by:
      queryOnFinish in interface ModelQueryWorkerProvider<M extends Model>
    • workerOnFinish

      public void workerOnFinish()
      Actions à effectuer à la fin d'une requête autre que de mise à jour.
      Specified by:
      workerOnFinish in interface ModelWorkerProvider