©Pere-nono
copyright2001
retour


EasyTable
Properties
Administration
Classes Java

 


Les classes utiles

Comme indiqué dans la section properties, si on veut charger ou sauvegarder des données de la table il faut créer une classe qui ensuite est declaré dans le fichier avec la directive suivante :
Classe.Chargement=tableloader.MemberLoader
Cette classe doit hériter de ITableInOut, les fonctions save et load recoivent un paramètre ATable _control. Ce paramètre permet d'agir avec la table afin de récuperer des données ou d'en ajouter. L'exemple suivant corespond au fichier properties étudié dans la section properties.

Classe de chargement/sauvegarde :

/****************************************************
* 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; }
}
dernière mise à jour le 10 octobre 2002