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

BOUML Discussion :

[Java][Generics]Opération retournant List<MyClass>


Sujet :

BOUML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 65
    Par défaut [Java][Generics]Opération retournant List<MyClass>
    Bonjour,

    Comment puis-je indiquer que le type retourné par une opération est une liste de génériques ? Est-il possible d'utiliser un stéréotype comme pour les associations "*" ?

    Merci d'avance de votre aide.

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    Bonjour,

    non, ce n'est pas une histoire de stereotype

    Si le but est d'avoir le type java.util.List<C>, trois solutions :
    • dire que l'operation retourne un java.util.List<C> (onglet UML), la definition de l'operation contient donc ${type}
    • dire que l'operation retourne un C (onglet UML), et modifier la définition de l'operation en Java pour dire qu'elle retourne un java.util.List<${type}>
    • dire que l'opération retourne un list (onglet UML), et modifier la définition de l'operation en Java pour dire qu'elle retourne un ${type}<C>. Je suppose que par ailleurs il est dit que list produit java.util.List en Java


    La meilleure solution est la seconde, car si C est une classe et qu'elle est renommée, le renommage est pris en compte

    Note : c'est la meme chose pour avoir un parametre dont le type est un generique, sauf que ${type} est remplacé par un ${ti}
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 65
    Par défaut
    Une nouvelle fois je te remercie pour la rapidité de ta réponse.

    Comme tu le suggères, je vais mettre en pratique la deuxième solution même si elle ne me satisfait pas pleinement.

    En effet, il y a, à mes yeux, au moins deux inconvénients :
    - le type retourné par l'opération n'apparaît pas dans le modèle mais uniquement dans le source généré
    - me connaissant il y a un risque non négligeable que je perde cette modification en cliquant sur le bouton remettant la définition par défaut

    Serait-il imaginable que dans un futur plus ou moins proche, bouml intègre la gestion des génériques en java ?


    Quoiqu'il en soit sache que je trouve que tu mets à notre disposition un excellent outil pour lequel je ne manque pas une occasion de faire de la publicité autour de moi.

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    Citation Envoyé par ptit-lu
    - le type retourné par l'opération n'apparaît pas dans le modèle mais uniquement dans le source généré
    si par 'apparaitre dans le modèle' tu parles des diagrammes, alors je ne suis pas d'accord avec toi :
    1. de toute facon en UML list<C> n'existe pas, se serait une indication de type + multiplicite + ordre
    2. il te suffit de demander un affichage en Java plutot qu'en UML (drawing setting 'drawing language'), et tu verras list<C>


    Citation Envoyé par ptit-lu
    - me connaissant il y a un risque non négligeable que je perde cette modification en cliquant sur le bouton remettant la définition par défaut
    une autre solution serait donc de creer un type list<C>, une sorte de typedef donc, mais je ne sais pas comment faire un équivalent en Java

    Citation Envoyé par ptit-lu
    Serait-il imaginable que dans un futur plus ou moins proche, bouml intègre la gestion des génériques en java ?
    ils sont gérés, que veux-tu dire ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 65
    Par défaut
    Bonjour,

    Disons que mon souhait se rapproche de ce que tu décrit quand tu dis qu'il faudrait spécifier type + multiplicité + ordre et que derrière bouml me génére une liste générique en java.

    C'est le problème quand on fournit des outils de qualité aux gens, qu'on est disponible pour répondre à leurs questions, il deviennent encore plus exigeants

    Continue comme ça

    Merci.

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    j'ai mis les indications type + multiplicité + ordre pour respecter la norme en ce qui concerne pas exemple un activity action pin.

    Au niveau d'une operation j'ai trouve cela vraiment trop lourd, et cela date de plus des débuts de Bouml ou j'étais nettement plus interessé par la génération de code que la la modélisation 'pure et dure'. De plus, sauf erreur, cela ne peut pas ce représenter au niveau d'un diagramme de classe ou autre ...
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/02/2011, 14h48
  2. opérations sur listes et dictionnaires
    Par rom44 dans le forum Général Python
    Réponses: 20
    Dernier message: 14/10/2010, 00h49
  3. service web retourne liste des villes
    Par mitnick2006 dans le forum Services Web
    Réponses: 9
    Dernier message: 29/07/2010, 12h22
  4. retourner liste processus
    Par Hellgast dans le forum Threads & Processus
    Réponses: 1
    Dernier message: 28/05/2010, 11h34
  5. Retourner liste procédure
    Par Pepsi333 dans le forum Requêtes
    Réponses: 4
    Dernier message: 14/05/2010, 09h49

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