Class SearchInput<M extends Model,T>

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
ece.ing3.java.projet.vue.components.inputs.SearchInput<M,T>
Type Parameters:
M - Type du modèle BDD considéré
T - Type de retour utilisé (le type de la clé primaire du modèle)
All Implemented Interfaces:
DialogListener, BaseInput<T>, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
ChambreInput, DocteurInput, InfirmierInput, MaladeInput, ServiceInput

public abstract class SearchInput<M extends Model,T> extends JPanel implements BaseInput<T>, DialogListener
Champ de saisie pour sélectionner des instances de modèle BDD, stockés en base de donnée, avec possibilité de sélection multiple pour la recherche

Ce champ doit être dérivé par modèle BDD considéré.

Author:
Virgile, Nicolas, Louis-Félix
See Also:
  • Constructor Details

    • SearchInput

      public SearchInput(String columnName, boolean isSearch, Window parent)
      Créer un nouveau champ de saisie pour sélectionner des instances de modèle BDD générique.
      Parameters:
      columnName - Nom de la colonne associée
      isSearch - true si le champ est utilisé pour de la recherche
      parent - Fenêtre parente de l'ensemble du champ, utilisé pour la boîte de dialogue de recherche
  • Method Details

    • setPreferredSize

      public void setPreferredSize(Dimension size)
      Modifie la taille souhaitée du champ, de manière à ne modifier que la largeur et à conserver la hauteur à sa valeur d'avant, ce pour garantir que le champ ne soit pas trop petit en hauteur.
      Overrides:
      setPreferredSize in class JComponent
      Parameters:
      size - Dimensions souhaitées (seul la largeur sera considéré)
    • getColumnName

      public String getColumnName()
      Retourne le nom de la colonne en base de donnée associée à ce champ de saisie.
      Specified by:
      getColumnName in interface BaseInput<M extends Model>
      Returns:
      Nom de la colonne
    • isFilled

      public boolean isFilled()
      Retourne si le champ est actuellement rempli.
      Specified by:
      isFilled in interface BaseInput<M extends Model>
      Returns:
      true champ rempli
    • getValue

      public T getValue()
      Récupère la valeur actuelle du champ de saisie, ou la première des valeurs multiples s'il y en a.
      Specified by:
      getValue in interface BaseInput<M extends Model>
      Returns:
      Valeur saisie actuelle
      Throws:
      IllegalArgumentException - La valeur saisie est invalide
    • setValue

      public void setValue(T value) throws IllegalArgumentException
      Remplace la valeur saisie par la valeur passée en paramètre.
      Specified by:
      setValue in interface BaseInput<M extends Model>
      Parameters:
      value - Nouvelle valeur du champ
      Throws:
      IllegalArgumentException - La valeur fournie est invalide
    • getWhere

      public Where getWhere() throws IllegalArgumentException
      Construit la clause Where de sélection liée à la/aux valeur(s) du champ
      Specified by:
      getWhere in interface BaseInput<M extends Model>
      Returns:
      Clause Where de sélection
      Throws:
      IllegalArgumentException - Au moins une valeure saisie est invalide
    • addValueChangeListener

      public void addValueChangeListener(ValueChangeListener valueChangeListener)
      Modifie l'objet qui écoute les changements de valeurs du champ
      Specified by:
      addValueChangeListener in interface BaseInput<M extends Model>
      Parameters:
      valueChangeListener - Objet qui écoute les changements de valeurs
    • onDialogSubmitted

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

      public void onDialogCancelled(JDialog dialog)
      Méthode régissant à l'annulation d'une boîte de dialogue, ici de la boîte de dialogue de sélection de modèle BDD.
      Specified by:
      onDialogCancelled in interface DialogListener
      Parameters:
      dialog - Boîte de dialogue de sélection annulée
    • getValues

      public T[] getValues() throws IllegalArgumentException
      Récupère l'ensemble des valeurs saisies.
      Specified by:
      getValues in interface BaseInput<M extends Model>
      Returns:
      Valeurs saisies
      Throws:
      IllegalArgumentException - Au moins une valeure saisie est invalide
    • resetValue

      public void resetValue()
      Réinitialise la valeur du champ.
    • setRawValue

      public void setRawValue(Object value) throws IllegalArgumentException
      Remplace la valeur saisie par la valeur passée en paramètre, en faisant une conversion vers le type attendu.
      Specified by:
      setRawValue in interface BaseInput<M extends Model>
      Parameters:
      value - Nouvelle valeur du champ
      Throws:
      IllegalArgumentException - La valeur fournie est invalide