IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

Sérialisation binaire sans "Serializable"


Sujet :

Persistance des données Java

  1. #1
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut Sérialisation binaire sans "Serializable"
    Salut,

    J'utilise actuellement XStream pour sérialiser des classes qui n'ont pas besoin d'implémenter l'interface Serializable, en XML.

    Maintenant, je souhaiterais faire la même chose en binaire, utiliser le même mécanisme que ObjectOutputStream, mais sans être obligé que les classes implémentent l'interface Serializable (c'est un peu bizarre comme système, si on a une classe Personne, qu'elle implémente ou pas sérializable on peut toujours mettre ses champs -nom et prénom par exemple- qui ne sont ni static si transient dans un fichier...).

    Merci de votre aide

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut
    Bonjour,
    A part l'introspection à la main, je crois qu'il n'y a pas d'autre solution.

    Je m'en suis surtout servi pour réinstancier des objets (mal) sérializés en XML:
    quand tu boucle sur les attributs (tous les Fields privé public de tout l'héritage) tu peux récupérer la valeur en faisant d'abord un field.setAccessible(true) ce qui supprime les contrôle d'accès privés.

    Ensuite pour organiser le code, j'avais créé des classes de "Stratégies" qui s'applique en fonction d'un des super-type de l'objet (List, Map, Array, Object, (type primitif)s ) notamment pour les cas particuliers des Tableaux et des types primitifs, et pour ne pas sérializer tous les éléments nuls et les inutilisés des type des Map et de Liste.

Discussions similaires

  1. Sérialisation en binaire (sans Boost)
    Par fleorock24 dans le forum C++
    Réponses: 7
    Dernier message: 10/06/2009, 08h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo