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

  FORUM HardWare.fr
  Programmation
  Java

  Logger un objet entierement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Logger un objet entierement

n°1740067
bob_eponge
Posté le 02-06-2008 à 10:14:22  profilanswer
 

Salut salut  :hello:  
 
Je suis a la recherche d'un morceau de code qui me permettrait de logger l'intégralité d'un objet java.
Je passe en paramètre mon objet (une instance de classe) et j'aimerais obtenir un String qui contient tout le contenu de mon objet.
 
j'ai deja trouvé des api qui pourraient faire ca, comme XStream qui permet a partir d'un objet java d'obtenir son equivalent en xml.
Malheureusement, je n'ai pas le droit d'utiliser de telles api.
 
A l'aiiiiiiiiiiiiiiide  ;)  

mood
Publicité
Posté le 02-06-2008 à 10:14:22  profilanswer
 

n°1740089
masklinn
í dag viðrar vel til loftárása
Posté le 02-06-2008 à 10:42:29  profilanswer
 

Suffit d'overrider la méthode toString pour sortir ce dont tu as besoin [:spamafote]

 

XStream c'est de la sérialisation XML pour transférer les objets via le réseau ou les enregistrer sur le disque, c'est complètement con de vouloir utiliser une usine à gaz pareil pour du pauvre logging pourri [:pingouino]


Message édité par masklinn le 02-06-2008 à 10:43:51

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1740091
bob_eponge
Posté le 02-06-2008 à 10:45:42  profilanswer
 

Le probleme c'est que je ne possede pas le source des objets que je veux logger donc je ne peux pas overrider le toString().
De plus ces classes comportent quelques centaines de champs donc je me vois pas faire un truc a la mano :D

n°1740100
Bidem
Posté le 02-06-2008 à 10:58:55  profilanswer
 

Il te reste l'introspection.
 
A l'aide de la méthode Class.getDeclaredFields(), tu peux obtenir les attributs

n°1740115
bob_eponge
Posté le 02-06-2008 à 11:10:15  profilanswer
 

oui biensur mais la je vais devoir me tapper une methode récursive avec de la réflexion dans tous les sens (et je suis pas sur d'y arriver en plus :D )
En fait, il me faudrait un truc générique qui puisse me logger n'importe quel objet.

n°1740183
masklinn
í dag viðrar vel til loftárása
Posté le 02-06-2008 à 11:48:07  profilanswer
 

http://commons.apache.org/beanutil [...] ng.Object)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1740254
bob_eponge
Posté le 02-06-2008 à 14:18:34  profilanswer
 

merci mais cette methode ne m'affiche que le contenu des mes champs de type "simple" (genre les string ou les double".
Des qu'il s'agit d'une classe qu'on a créé, il n'affiche plus rien.
 
Mais bon j'ai fait le forcing avec mon gentil chef et on va utiliser XStream qui en 2 lignes de code vous génère l'arbre XML complet de votre objet.
 
Merci de votre aide

n°1740331
sircam
I Like Trains
Posté le 02-06-2008 à 15:28:40  profilanswer
 

bob_eponge a écrit :

Des qu'il s'agit d'une classe qu'on a créé, il n'affiche plus rien.


Cette classe doit aussi présenter un toString qui va bien.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

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

  Logger un objet entierement

 

Sujets relatifs
[Java] Recuperer le type de l'objet d'une Arraylist[C++ / SQL] Enregistrer un objet en tant que blob
Erreur: Propriété non gérée par cette objetPasser un objet Array à une fonction JS
Threader les methodes d un objetLa référence d'objet n'est pas définie à une instance d'un objet.
Sauvegarde d'une hiérarchie d'objetCharger un objet php depuis une session
objet bureau interactif[SWING] autoscrolling sur objet en deplacement dans un jpanel
Plus de sujets relatifs à : Logger un objet entierement


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