/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.gui;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
/**
* Construit un filtre d'affichage sur les tables partag�es entre les applications
* PENELOPE, PARIS et ALIS pour l'explorateur des donn�es. Ce filtre est bas� sur la
* valeur du champ RECORD_ACCESS.
*
* @version $Revision: 1.3 $
*
*
*/
public class ExplorerRecordManagerFilter implements ExplorerFilter {
private JComboBox recordComboBox = new JComboBox();
private JLabel recordLabel = new JLabel();
/**
* Constructeur.
*/
public ExplorerRecordManagerFilter() {
recordLabel.setText("Lignes");
initComponent();
}
/**
* Retourne le label du filtre.
*
* @return Le JLabel.
*/
public JLabel getLabel() {
return recordLabel;
}
/**
* Retourne le composant du filtre (ici un combo).
*
* @return Le JComponent.
*/
public JComponent getComponent() {
return recordComboBox;
}
/**
* Retourne la clause where � utiliser pour le filtrage.
*
* @return La String de la clause where.
*/
public String getWhereClause() {
StringBuffer whereClause = new StringBuffer("");
String record = (String)recordComboBox.getSelectedItem();
if (!"Toutes".equals(record)) {
if ("INFOCENTRE".equals(record)) {
whereClause.append("RECORD_ACCESS = 0");
}
else if ("Ajout PARIS".equals(record)) {
whereClause.append("RECORD_ACCESS = 2");
}
else if ("Modification PARIS".equals(record)) {
whereClause.append("RECORD_ACCESS = 3");
}
else if ("Suppression PARIS".equals(record)) {
whereClause.append("RECORD_ACCESS = 1");
}
}
return whereClause.toString();
}
/**
* Retourne le nom DB de la colonne sur laquelle porte le filtre.
*
* @return La String du nom DB de la colonne.
*/
public String getFilterColumnName() {
return "RECORD_ACCESS";
}
/**
* Initialise le combo des lignes pour le filtrage des donn�es.
*/
public void initComponent() {
recordComboBox.addItem("Toutes");
recordComboBox.addItem("INFOCENTRE");
recordComboBox.addItem("Ajout PARIS");
recordComboBox.addItem("Modification PARIS");
recordComboBox.addItem("Suppression PARIS");
}
}