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 Summary
Modifier and TypeMethodDescriptionvoid
actionPerformed
(ActionEvent actionEvent) Méthode réagissant au choix de l'utilisateur sur le panneau (notamment la barre d'outils).Créer une nouvelle boîte de dialogue de suppression associée au modèle.abstract ModelSearchDialog
Créer une nouvelle boîte de dialogue de recherche associée au modèle.abstract ModelUpdateDialog<M>
createUpdateDialog
(M existingModel) Créer une nouvelle boîte de dialogue de mise à jour associée au modèle.Récupère la classe associée au modèle utiliséRécupère la clause OrderBy actuelle, non-modifiée.getPanel()
Récupère le panneau d'affichage, sélection, recherche et modification associé.Récupère le modèle de table associé.Récupère la clause Where actuelle, non-modifiée.void
onDialogCancelled
(JDialog dialog) Méthode réagissant à l'annulation d'une boîte de dialogue.void
onDialogSubmitted
(JDialog dialog) Méthode régissant à la validation d'une boîte de dialogue.Créer un nouveau sélecteur SQL associé au modèle.queryModifyOrderByClause
(OrderBy orderByClause) Modifie la clause OrderBy avant exécution de la mise à jour des données.queryModifyWhereClause
(Where whereClause) Modifie la clause Where avant exécution de la mise à jour des données.void
Actions à effectuer à la fin d'une requête de mise à jour.void
update()
Récupère et met à jour la liste affichée par rapport à la base de donnée.void
Actions à effectuer à la fin d'une requête autre que de mise à jour.
-
Method Details
-
getModelClass
Récupère la classe associée au modèle utilisé- Specified by:
getModelClass
in interfaceModelQueryWorkerProvider<M extends Model>
- Returns:
- Classe du modèle
-
queryModifyWhereClause
Modifie la clause Where avant exécution de la mise à jour des données.- Specified by:
queryModifyWhereClause
in interfaceModelQueryWorkerProvider<M extends Model>
- Parameters:
whereClause
- Clause Where à modifier- Returns:
- Nouvelle clause Where
-
queryModifyOrderByClause
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 interfaceModelQueryWorkerProvider<M extends Model>
- Parameters:
orderByClause
- Clause OrderBy à modifier- Returns:
- Nouvelle clause OrderBy
-
queryCreateSelector
Créer un nouveau sélecteur SQL associé au modèle.- Specified by:
queryCreateSelector
in interfaceModelQueryWorkerProvider<M extends Model>
- Returns:
- Sélecteur SQL
-
getPanel
Récupère le panneau d'affichage, sélection, recherche et modification associé.- Returns:
- Panneau d'affichage, sélection, recherche et modification
-
getTableModel
Récupère le modèle de table associé.- Specified by:
getTableModel
in interfaceModelQueryWorkerProvider<M extends Model>
- Returns:
- Modèle de table associé
-
getWhereClause
Récupère la clause Where actuelle, non-modifiée.- Specified by:
getWhereClause
in interfaceModelQueryWorkerProvider<M extends Model>
- Returns:
- Clause Where actuelle
-
getOrderByClause
Récupère la clause OrderBy actuelle, non-modifiée.- Specified by:
getOrderByClause
in interfaceModelQueryWorkerProvider<M extends Model>
- Returns:
- Clause OrderBy actuelle
-
createSearchDialog
Créer une nouvelle boîte de dialogue de recherche associée au modèle.- Returns:
- Boîte de dialogue de recherche
-
createUpdateDialog
Créer une nouvelle boîte de dialogue de mise à jour associée au modèle.- Parameters:
existingModel
- Instance de modèle BDD existant ounull
- Returns:
- Boîte de dialogue de mise à jour
-
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
Méthode réagissant au choix de l'utilisateur sur le panneau (notamment la barre d'outils).- Specified by:
actionPerformed
in interfaceActionListener
- Parameters:
actionEvent
- Événement d'action
-
onDialogSubmitted
Méthode régissant à la validation d'une boîte de dialogue.- Specified by:
onDialogSubmitted
in interfaceDialogListener
- Parameters:
dialog
- Boîte de dialogue validée
-
onDialogCancelled
Méthode réagissant à l'annulation d'une boîte de dialogue.- Specified by:
onDialogCancelled
in interfaceDialogListener
- 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 interfaceModelQueryWorkerProvider<M extends Model>
-
workerOnFinish
public void workerOnFinish()Actions à effectuer à la fin d'une requête autre que de mise à jour.- Specified by:
workerOnFinish
in interfaceModelWorkerProvider
-