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

Langage Java Discussion :

Obtenir type Class à partir d'un String


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 40
    Points
    40
    Par défaut Obtenir type Class à partir d'un String
    Bonjour,

    J'avais déja crée un topic concernant ce que je cherchais à faire ici:
    http://www.developpez.net/forums/sho...d.php?t=280654

    J'ai pas mal avancé, mais la dernière question que j'ai posé n'a pas eu beaucoup de succès donc je lui fais un topic dédié...

    En effet, lorsque que je dois "mapper" des données qui sont écrites dans le fichier XML (type String donc) pour correspondre à des types String ou Int dans les classes, ça va, seulement il se peut que j'ai besoin d'une classe particulière pour renseigner ma classe de destination, par exemple dans le fichier de config:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    attribut à renseigner="Package.NomClasse1" valeur à attribuer="Package.Nomclasse2"
    De ce fait, j'aurais dans ma classe NomClass1 2 méthodes Get et Set attendant un objet de la classe Nomclasse2.

    D'ou ma question, quel est le meilleur moyen, à partir de ma chaine "Package.Nomclasse2" d'obtenir une classe? (Class.forName? LoadClass?)

    Merci d'avance pour vos réponses!

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Citation Envoyé par kobe
    D'ou ma question, quel est le meilleur moyen, à partir de ma chaine "Package.Nomclasse2" d'obtenir une classe? (Class.forName? LoadClass?)
    public static Class forName(String className)
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 40
    Points
    40
    Par défaut
    Ok merci en effet ça marche...Toutefois je me demandais une fois de plus s'il était possible d'aller un peu plus loin en utilisant une classe déja instanciée?
    Autrement dit, comment faire pour à partir d'une representation texte dans mon fichier XML je pourrais utiliser une classe qui existe déja et qui a ses propres valeurs pour ses attributs? En fait, je voudrais utiliser une sérialisation de mon objet pour à partir de mon fichier de config le désérialiser (mais pas en utilisant du binaire comme cela se fait par défaut)... Est-ce possible?

  4. #4
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Bonjour,
    Je ne suis pas sùr d'avoir bien compris ce que tu cherches à faire mais si c'est du mapping XML/objet il y a l'api Commons-Digester.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 40
    Points
    40
    Par défaut
    Bonjour afrikha,

    en fait ce que je cherches à faire c'est arriver à représenter un objet d'une classe grace à une chaine de caractères présente dans mon fichier XML. Pour moi ça s'apparente à une sérialisation/désérialisation d'un objet Java sauf qu'habituellement, la réprésentation est difficilement lisible, or la j'aimerais le représenter d'une façon textuelle compréhensible et utilisable pour les personnes qui vont renseigner le fichier de config...Je ne sais pas du tout sil cela est possible mais ça me dépannerais fortement!

    J'espère avoir été assez clair, merci d'avance

  6. #6
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Tu veux faire du mapping XML-Objet et plusieurs APIs existent pour ça : XStream, Commons Digester... et même les classes XMLEncoder/XMLDecoder dans l'API Java (de base) !
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 40
    Points
    40
    Par défaut
    C'est en effet une solution interessante mais je pensais plus à une représentation en String, parce qu'en utilisant un mapping XML-Object, ça m'oblige à modifier ma structure XML que j'ai actuellement et donc à changer sa lecture...

    J'ai cherché sur le Net et apparement ce n'est pas une bonne idée de vouloir sérialiser un objet Java en String, aucune API ne peut donc le faire?

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/11/2012, 15h58
  2. Nom d'instance de classe à partir d'une string
    Par nofasc95 dans le forum C#
    Réponses: 2
    Dernier message: 06/02/2009, 12h47
  3. [JDK1.5] Obtenir Annotation à partir d'une String
    Par pitoubicou dans le forum Langage
    Réponses: 9
    Dernier message: 29/03/2006, 18h37
  4. [VB.NET]Comment obtenir un type à partir d'un string?
    Par NicolasJolet dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/02/2006, 15h46
  5. Réponses: 4
    Dernier message: 07/01/2006, 18h36

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