/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.segmentation.gui.preference; import net.codjo.expression.FunctionManager; import net.codjo.expression.help.FunctionHelp; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * Repr�sente la structure des tables li�es � une famille */ public class PreferenceGui implements Constants { private String familyId; private List<String> tablesList = new ArrayList<String>(); private DBStructure structure; private List<FunctionHelp> allFunctionsHelp = new FunctionManager().getAllFunctionsHelp(); private Map<String, String> resultColumns; private String resultRequetor; public String getResultRequetor() { return resultRequetor; } public void setResultRequetor(String resultRequetor) { this.resultRequetor = resultRequetor; } public PreferenceGui(String familyId) { this.familyId = familyId; } public String getFamilyId() { return familyId; } /** * Retourne la liste des tables * * @return la liste des tables rattach�es � cette famille */ public List<String> getTables() { return tablesList; } public void addTable(String tableName) { tablesList.add(tableName); } /** * Retourne la liste des colonnes de tableName * * @param tableName * * @return la liste des colonnes de tableName */ public List getColumnsFor(String tableName) { return structure.getColumnsFor(tableName); } /** * Affecte un type de Structure * * @param dBStructure */ public void setStructure(DBStructure dBStructure) { this.structure = dBStructure; } /** * Retourne le libell� de la colonne sqlField de la table tableName * * @param tableName * @param sqlField * * @return le libell� de la colonne sqlField de la table tableName */ public String getColumnLabelFor(String tableName, String sqlField) { return structure.getColumnLabelFor(tableName, sqlField); } // TODO � passer � package protected des que la classe EditorAction est cr��e public List<FunctionHelp> getAllFunctionsHelp() { List<FunctionHelp> resultList = new ArrayList<FunctionHelp>(); for (Object anAllFunctionsHelp : allFunctionsHelp) { FunctionHelp functionHelp = (FunctionHelp)anAllFunctionsHelp; resultList.add(new MyFunctionHelp(functionHelp)); } return resultList; } public void setAllFunctionsHelp(List<FunctionHelp> allFunctionsHelp) { this.allFunctionsHelp = allFunctionsHelp; } public void setResultColumns(Map<String, String> columns) { resultColumns = columns; } public Map<String, String> getResultColumns() { return resultColumns; } private static class MyFunctionHelp extends FunctionHelp { MyFunctionHelp(FunctionHelp functionHelp) { super(functionHelp.getFunctionName(), functionHelp.getParameterNumber(), functionHelp.getHelp()); } @Override public String toString() { return getFunctionName(); } } }