/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.utils.sql; import net.codjo.utils.QueryHelper; import net.codjo.utils.SQLFieldList; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import javax.swing.JButton; import javax.swing.JInternalFrame; /** * Interface entre les AbstractDetailAction et leurs fenetre de detail. * * @author $Author: marcona $ * @version $Revision: 1.4 $ * */ public interface DetailWindowInterface { /** * Positionne le type d'action qui a caus� l'ouverture de l'�cran de d�tail (ajout ou * modification). * * @param actionType Le type d'action (add ou modify) */ public void setActionType(String actionType); /** * Retourne la fenetre de detail. * * @return Une JInternalFrame */ public JInternalFrame getInternalFrame(); /** * Rempli un JTextComponent ou un JCheckBox des �crans page avec une valeur par * d�faut. * * @param defaultValues Description of Parameter */ public void fillDefaultValues(HashMap defaultValues); /** * Retourne la Bouton "Appliquer". Ce bouton est optionnel. * * @return Le bouton (ou null si non defini) */ public JButton getApplyButton(); /** * Retourne la Bouton "Pr�c�dent". Ce bouton est optionnel. * * @return Le bouton (ou null si non defini) */ public JButton getPreviousButton(); /** * Retourne la Bouton "Suivant". Ce bouton est optionnel. * * @return Le bouton (ou null si non defini) */ public JButton getNextButton(); /** * Retourne la Bouton "Enregistrer". * * @return Le bouton */ public JButton getOkButton(); /** * Retourne la Bouton "Annuler". * * @return Le bouton */ public JButton getCancelButton(); /** * Retourne les noms des attributs (composants graphiques) d�finis dans la fen�tre de * d�tail. * * @return Liste des noms (String). */ public java.util.List getListOfComponents(); /** * Remplit le QueryHelper avec les valeurs des colonnes avec les champs de la fenetre * detail. * * @param columns Liste de colonnes a remplir dans le query helper. * @param qh Le QueryHelper a remplir. */ public void fillQueryHelper(SQLFieldList columns, QueryHelper qh); /** * Rempli les Composants des �crans page avec les valeurs des champs correspondant. * * <p> * L'iteration sur le ResultSet est faite dans la methode. * </p> * * @param columns Liste des colonnes * @param rs ResultSet des valeurs � renseigner * * @exception SQLException - */ public void fillComponent(SQLFieldList columns, ResultSet rs) throws SQLException; /** * Enregistre les liens (repercute les modifications sur les tables liees). * * <p> * Remarque : Lorsque cette methode est appele, le detail est deja enregistre dans * une transaction non committe. * </p> * * @param pk La clef primaire de l'ecran detail (Nom/valeur) * @param con La connection de la transaction * * @exception Exception */ public void saveLinks(Map pk, Connection con) throws Exception; }