/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.broadcast.gui; import net.codjo.mad.client.request.RequestException; import net.codjo.mad.gui.request.DetailDataSource; import java.util.List; import java.util.Map; import javax.swing.JComboBox; import javax.swing.JPanel; /** * Interface decrivant les preferences d'export pour une famille. */ public interface GuiPreference { /** * Retourne la famille de cet objet preference. * * @return La valeur de family */ public String getFamily(); public String getFamilyLabel(); /** * Retourne Un JPanel contenant les champs optionnels specifiques a la famille se trouvant dans une table * li�e a la table des contents. * * @param contentDataSource le datasource du content en edition */ public JPanel buildContentOptionPanel(DetailDataSource contentDataSource) throws RequestException; /** * Retourne la liste des fonctions utilisables dans les expressions. */ public List<String> getAllFunctions(); /** * Enregistre les donn�es du pannel optionnel des Contents. * * <p> N.B. Cette methode est appele apres que le content soit enregistre </p> * * @param contentDataSource le datasource du content en edition * @param panel le panel optionnel construit par buildContentOptionPanel */ public void saveContentOptionPanel(DetailDataSource contentDataSource, JPanel panel) throws RequestException; /** * @param joinKeyName le nom de la jointure * * @return le nom de la table maitre de la jointure */ public String determineTableName(String joinKeyName); /** * Retourne la JCombobox des selecteurs de selection pour cette famille. * * @return une JComboBox * * @throws RequestException pb */ public JComboBox buildSelectionComboBox() throws RequestException; /** * Retourne les GuiField pour une entit� exportable. * * @param joinKeyName * * @return Tableau de GuiField. */ public GuiField[] getGuiFieldsFor(String joinKeyName); /** * Retourne les labels de toutes les entit�s exportable (tables + clefs de jointure). * * @return Retourne les labels (clef = joinKeyName / value = label). */ public Map<String, String> getJoinKeyLabels(); }