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 :

Multiplicity et Array


Sujet :

BOUML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut Multiplicity et Array
    Bonjour,

    Lorsque je mets une "Multiplicity" sur * dans un attribut de classe, le générateur Java me le déclare comme une variable "simple" :
    private String toto;

    Alors que si je met par exemple 5 à la place de * j'ai :
    private String[] toto;

    Pouvez vous me confirmer que c'est un fonctionnement normal?

    Youkoun

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    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 545
    Par défaut
    Bonjour,
    Citation Envoyé par youkoun Voir le message
    Lorsque je mets une "Multiplicity" sur * dans un attribut de classe, le générateur Java me le déclare comme une variable "simple" :
    private String toto;
    appuyer sur le bouton default declaration et cela deviendra private <String> toto;

    se faisant votre définition n'est pas complète, par défaut Bouml attend un stéréotype pour savoir comment mémoriser les éléments multiples, ce stéréotype est considéré comme correspondant à une classe générique.

    Par exemple si le stéréotype est list cela donnera private List<String> toto;

    Alors que si je met par exemple 5 à la place de * j'ai :
    private String[] toto;
    dans ce cas par défaut je considère que le but est d'utiliser un tableau

    Tout ceci (y compris le passage de list à List) est modifiable globalement via les generation setting, ou au niveau de chaque attribut/relation

    merci de lire (au moins) le chapitre la doc concernant les attributs
    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 confirmé
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut
    Bonjour,

    J'ai bien compris comment ca marchait mais je ne trouve pas très logique que Bouml ne génère pas un tableau quand on définit une multiplicity "*" sans stéréotype. Et je me vois mal le modifier dans chaque attribut/relation.

    Sinon même en relisant la doc je ne vois comment définir un stéréotype "Tableau"...

    Youkoun

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    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 545
    Par défaut
    Bonjour,
    Citation Envoyé par youkoun Voir le message
    J'ai bien compris comment ca marchait mais je ne trouve pas très logique que Bouml ne génère pas un tableau quand on définit une multiplicity "*" sans stéréotype.
    * est une multiplicité vague, quand on utilise un tableau on connait généralement sa taille, cette-ci étant souvent fixe. Le choix est donc logique

    Et je me vois mal le modifier dans chaque attribut/relation.
    c'est pour cela que dans son infinie bonté Bouml offre les generation settings

    Sinon même en relisant la doc je ne vois comment définir un stéréotype "Tableau"...
    que veux-tu que ce stéréotype produise en Java ?
    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 confirmé
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut
    quand on utilise un tableau on connait généralement sa taille
    taille qui est souvant stoqué dans une variable donc pas connu au moment de la conception.

    que veux-tu que ce stéréotype produise en Java ?
    Un tableau "classique" (ex : String[] toto

    Youkoun

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    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 545
    Par défaut
    Citation Envoyé par youkoun Voir le message
    taille qui est souvant stoqué dans une variable donc pas connu au moment de la conception.
    ce qui n'empêche pas de lui donner un nom

    par défaut une multiplicité non vide n'étant ni * ni une forme a..b produit un tableau

    mais de toute façon tu peux avoir une multiplicité * ou a..b et produire un tableau, soit via les generation setting soit en modifiant l'élément courant

    bref tu peux produire ce que tu veux, profites en

    Un tableau "classique" (ex : String[] toto
    tu n'as pas beaucoup lu la doc, cela se fait sans problème via les generation settings
    • dans l'onglet stereotype tu ajoutes Tableau et tu mets [] pour java et ce que tu veux de non vide pour les autres langages
    • dans l'onglet java[2] tu modifies la définition par défaut des attributs et relations lorsque le multiplicité est * en remplaçant ${stereotype}<${type}> par ${type}[] (ou ${type}${stereotype} si tu a bien mis [] pour la traduction de Tableau en Java)
    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. tri multiple sur array()
    Par proxichou dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2010, 14h24
  2. [ZF 1.10] Validators multiples via array
    Par jfdio dans le forum Zend_Form
    Réponses: 3
    Dernier message: 02/06/2010, 11h07
  3. [Tableaux] select multiple et concatenation array
    Par carelha dans le forum Langage
    Réponses: 5
    Dernier message: 06/08/2007, 13h44
  4. [PHP/SQL] foreach sur array multiples
    Par Flushovsky dans le forum Langage
    Réponses: 1
    Dernier message: 18/09/2006, 10h49
  5. Array, Boucle : Multiplication de l'Array
    Par moijhd dans le forum Flash
    Réponses: 4
    Dernier message: 15/06/2006, 13h21

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