Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1646 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Accès dynamique à une classe pour appeler .... une méthode statique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accès dynamique à une classe pour appeler .... une méthode statique

n°1983471
moustik510
Enfin en travaux !
Posté le 13-04-2010 à 10:26:35  profilanswer
 

Bonjour tout le monde.
 
Pour sauvegarder/restaurer les données d'un programme de comptabilité personnelle, je voudrais utiliser un fichier XML du genre :
 
<sauvegarde>
<Objet classe="Credit" Version="1.0">...</Objet>
<Objet classe="Debit" Version="1.0">...</Objet>
</sauvegarde>
 
La version correspondrait à une version de la classe, permettant au programme mis à jour de lire un fichier provenant d'une version précédente.
Chaque classe sauvegardée aurait la responsabilité d'importer les données qui l'intéresse pour créer les objets.
 
Class Credit {
 
     private static ArrayList<Credit> listeCredit = new ArrayList<Credit>();
 
     public static Credit importer(noeud XML) {
          ...
          [Ajout du nouvel objet Credit à listeCredit]
     }
}
Class Credit {
 
     private static ArrayList<Debit> listeDebit = new ArrayList<Debit>();
 
     public static Debit importer(noeud XML) {
          ...
          [Ajout du nouvel objet Debit à listeDebit]
     }
}
 
Mais comment appeler ses méthodes classiques ? Je pense créer une classe GestionnaireSauvegarde qui parcourt le XML et appelle les différentes méthodes d'importations en fonction de la classe de l'objet.
Je n'ai pas les classes/méthodes XML en tête alors je vais faire du pseudo code, désolé.
 
Je sais faire ça :
 
class GestionnaireSauvegarde{
 
public void exporter(String fichierXML){
     [Créer le fichier XML]
     
     [DEBUT Pour chaque objet à sauvegarder]
     racineXML.ajouterNoeud(objet.exporter);
     [FIN Pour chaque objet]
}
 
public void importer(String fichierXML){
     [Ouvrir le fichier XML]
       
     [DEBUT Pour chaque balise sous la racine]
     nomClasse = balise.getParameter("classe" );
     if(nomClasse.equals("Credit" )) Credit.importer(balise)
     if(nomClasse.equals("Debit" )) Debit.importer(balise)
     [FIN Pour chaque balise sous la racine]
}
 
}
 
Ce qui m'oblige à créer une ligne if(classe.equals("<classe>" )) <classe>.importer(balise)
Et je vais en gérer plusieurs des classes comme cela.
 
J'aimerais plutôt faire :
 
[DEBUT Pour chaque balise sous la racine]
nomClasse = balise.getParameter("classe" );
Class classe = Class.forName(nomClasse);
classe.importer(balise)
[FIN Pour chaque balise sous la racine]
 
Mais là, même si je gère une exception pour méthode non existante le compilateur va me jeter bien sûr [:tinostar]  
 

  • Ma méthode d'importation est-elle intéressante ?
  • Comment appeler la méthode statique importer(Noeud XML) dynamiquement ?


J'espère avoir été clair en tout cas [:cupra]
Et merci


Message édité par moustik510 le 13-04-2010 à 10:27:32
mood
Publicité
Posté le 13-04-2010 à 10:26:35  profilanswer
 

n°1983493
phnatomass
Je m'empare de ton esprit !!
Posté le 13-04-2010 à 11:08:26  profilanswer
 

Ce ne serais pas plus simple à gérer avec une api de serialization java<=>XML comme JAXB ?

n°1983579
moustik510
Enfin en travaux !
Posté le 13-04-2010 à 13:31:05  profilanswer
 

phnatomass a écrit :

Ce ne serais pas plus simple à gérer avec une api de serialization java<=>XML comme JAXB ?


Je ne connais pas JAXB mais ça à l'air bien pratique.
 
Mais apparemment le XML doit exactement correspondre à la classe Java donc pas de gestion de version ? (fonctionnalité facultative)
 
Je fais des recherches là dessus pour en savoir un peu plus. Merci.
 
Ensuite au moment de l'écriture sur fichier il faudra gérer un cryptage pour la confidentialité des informations mais c'est un autre sujet.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Accès dynamique à une classe pour appeler .... une méthode statique

 

Sujets relatifs
Trouver l'adresse d'une méthode C++ en assembleur[RESOLU] Requete SQL avec variable dynamique sous MS-DOS
probleme d'assignation de valeur avec un tableau dans une classe[PHP / SQL] Conception Menu Dynamique a sous Categories Variables
Faire un tableau en parsant des chaines issues de pages HTML dynamiqueCarte dynamique ( clip dans clip )
[eclipse] impossible d'éditer une classeApparition d'élément de menu déroulant dynamique
Sérialisation - Spécifier un attribut de classe comme optionnelAide avec les chemins d'accès aux fichiers
Plus de sujets relatifs à : Accès dynamique à une classe pour appeler .... une méthode statique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR