©Pere-nono
copyright2001
back


EasyTable
Properties
Administration
Classes Java

 


Class

As show in the properties section, if you want save or load data you must be create a class and declare this in the file as this :
Classe.Chargement=tableloader.MemberLoader
This class must extend ITableInOut, the save and load function receive the parameter ATable _control. The parameter allow to add or get a line of the table. The next example is the class associated to the file in the properties section.

Class to load/save :

/****************************************************
* auteur : Noël Perez *
* date : 21 septembre 2002 *
* fichier : MembreLoader.java *
****************************************************/

package tableloader;
import perenono.pac.easytable.ITableInOut;
import perenono.pac.easytable.ATable;
import noyau.structure.JNClass;
import noyau.structure.JNClassMembre;
/**
* <br> 
* s'occupe de charger les valeurs des parametres d'une methode dans la table
* 
* @author Noël Perez
*/ 
public class MembreLoader implements ITableInOut
{
    //----------------------------------------------------------------------------
    /** 
    * Constructeur par défaut de la classe MembreLoader
    *
    * @author Noël Perez
    */ 
    //----------------------------------------------------------------------------
    public MembreLoader(){}
               
    //----------------------------------------------------------------------------
    /** 
    * Methode permettant de decharger les données utiles contenues dans _o dans la table
    *
    * @param _control conteneur des données affichées
    * @param _o donnée à charger ( dans ce cas, cela doit être une instance de "JNClass" )
    * @author Noël Perez
    */ 
    //----------------------------------------------------------------------------
    public void load(ATable _control, Object _o)
    {
        //on commence par s'assurer que l'objet _o est du type voulu
        if(_o !=null && _o instanceof JNClass)
        {
               //je recupere les objets à charger
JNClassMembre[] membresTemp = (JNClassMembre[])((JNClass)_o).getMembres(); int size = membresTemp.length;
//pour chaque objet je crée une ligne dans la table for(int i=0; i<size;i++) { String[] temp = new String[4]; temp[0] = membresTemp[i].getPortee(); temp[1] = membresTemp[i].getType(); temp[2] = membresTemp[i].getNom(); temp[3] = membresTemp[i].getComment(); //j'ajoute la ligne à la table _control.addValue(temp); } } else if(_o!=null) System.out.println("ce n'est pas un JNClass "+_o); } //---------------------------------------------------------------------------- /** * Methode permettant de récuperer les données de la table * * @param _control conteneur des données affichées * @return un tableau à deux dimensions contenant * les noms des paramètres ainsi que les commentaires et type associés * @author Noël Perez */ //---------------------------------------------------------------------------- public Object[] save(ATable _control) { //je recupere le nombre de ligne de la table int size = _control.getSize(); //je crée des tableaux du type des objets que je veux en sortie JNClassMembre[] param = new JNClassMembre[size]; //je parcours les lignes de la table for(int i=0;i<size;i++) { //je recupere les valeurs de la ligne i String[] temp = _control.getValue(i); //je crée l'objet param[i] = new JNClassMembre(temp[0],temp[1],temp[2],temp[3]); } return param; }
}
Last update 10 october 2002