From 7186ac2c9af04d37dc503ca7efb1b7e1aef261ac Mon Sep 17 00:00:00 2001 From: pourchot Date: Fri, 15 Dec 2023 12:28:32 +0100 Subject: [PATCH] 15 Decembre --- DEV3.4/TP4/stub/0Bad/Base.class | Bin 0 -> 820 bytes DEV3.4/TP4/stub/0Bad/Base.java | 4 + DEV3.4/TP4/stub/0Bad/Exemple.class | Bin 0 -> 1209 bytes DEV3.4/TP4/stub/0Bad/Exemple.java | 31 + DEV3.4/TP4/stub/0Bad/MonBrin.class | Bin 0 -> 331 bytes DEV3.4/TP4/stub/0Bad/MonBrin.java | 29 + DEV3.4/TP4/stub/0Bad/MonMaillon.class | Bin 0 -> 533 bytes DEV3.4/TP4/stub/0Bad/MonMaillon.java | 33 + DEV3.4/TP4/stub/1Iterable/Base.class | Bin 0 -> 820 bytes DEV3.4/TP4/stub/1Iterable/Base.java | 4 + DEV3.4/TP4/stub/1Iterable/Exemple.class | Bin 0 -> 1092 bytes DEV3.4/TP4/stub/1Iterable/Exemple.java | 34 + DEV3.4/TP4/stub/1Iterable/MonBrin.class | Bin 0 -> 915 bytes DEV3.4/TP4/stub/1Iterable/MonBrin.java | 59 + DEV3.4/TP4/stub/1Iterable/MonMaillon.class | Bin 0 -> 533 bytes DEV3.4/TP4/stub/1Iterable/MonMaillon.java | 33 + DEV3.4/TP4/stub/2Iterator/Base.java | 4 + DEV3.4/TP4/stub/2Iterator/Exemple.java | 35 + DEV3.4/TP4/stub/2Iterator/MonBrin.java | 37 + .../TP4/stub/2Iterator/MonBrinIterator.java | 32 + DEV3.4/TP4/stub/2Iterator/MonMaillon.java | 29 + .../Base.java | 4 + .../Exemple.java | 58 + .../MonBrin.java | 83 + .../MonBrinIterator.java | 33 + DEV3.4/TP4/stub/explication.txt | 20 + DEV3.4/TP4/stubTPADN.tar.gz | Bin 0 -> 3835 bytes DEV3.4/TP5/stub/exo3/Chef.class | Bin 0 -> 962 bytes DEV3.4/TP5/stub/exo3/Chef.java | 62 + DEV3.4/TP5/stub/exo3/Exemple.class | Bin 0 -> 699 bytes DEV3.4/TP5/stub/exo3/Exemple.java | 36 + DEV3.4/TP5/stub/exo3/Exemple2.class | Bin 0 -> 664 bytes DEV3.4/TP5/stub/exo3/Exemple2.java | 33 + DEV3.4/TP5/stub/exo3/Exemple3.class | Bin 0 -> 875 bytes DEV3.4/TP5/stub/exo3/Exemple3.java | 43 + DEV3.4/TP5/stub/exo3/Person.class | Bin 0 -> 972 bytes DEV3.4/TP5/stub/exo3/Person.java | 44 + DEV3.4/TP5/stub/exo3/Travailleur.class | Bin 0 -> 339 bytes DEV3.4/TP5/stub/exo3/Travailleur.java | 31 + DEV3.4/TP5/stub/exo4/Chef.java | 48 + DEV3.4/TP5/stub/exo4/Exemple.java | 36 + DEV3.4/TP5/stub/exo4/Exemple2.java | 33 + DEV3.4/TP5/stub/exo4/Exemple3.java | 43 + DEV3.4/TP5/stub/exo4/Person.java | 44 + DEV3.4/TP5/stub/exo4/Travailleur.java | 31 + DEV3.4/TP5/stub/exo5/Chef.java | 48 + DEV3.4/TP5/stub/exo5/Exemple.java | 36 + DEV3.4/TP5/stub/exo5/Exemple2.java | 33 + DEV3.4/TP5/stub/exo5/Exemple3.java | 43 + DEV3.4/TP5/stub/exo5/Person.java | 44 + DEV3.4/TP5/stub/exo5/Travailleur.java | 31 + DEV3.4/TP5/stubTPBamboche.tar.gz | Bin 0 -> 2042 bytes DEV3.4/TP6/Donjon.class | Bin 0 -> 251 bytes DEV3.4/TP6/Donjon.java | 10 + DEV3.4/TP6/DonjonNPlocal.class | Bin 0 -> 996 bytes DEV3.4/TP6/DonjonNPlocal.java | 39 + DEV3.4/TP6/Main.class | Bin 0 -> 708 bytes DEV3.4/TP6/Main.java | 33 + DEV3.4/TP6/Piece.class | Bin 0 -> 233 bytes DEV3.4/TP6/Piece.java | 7 + DEV3.4/TP6/PieceNPlocal.class | Bin 0 -> 293 bytes DEV3.4/TP6/PieceNPlocal.java | 11 + DEV3.4/TP6/VuePerso.class | Bin 0 -> 1652 bytes DEV3.4/TP6/VuePerso.java | 36 + DEV3.4/TPnote/Model/Billet.java | 21 + DEV3.4/TPnote/Model/Denomination.java | 9 + DEV3.4/TPnote/Model/Individu.java | 92 + DEV3.4/TPnote/Model/Main.java | 7 + DEV3.4/TPnote/TPnote.mdj | 1380 ++++++++++++++ DEV3.4/ex2.mdj | 1654 +++++++++++++++++ 70 files changed, 4580 insertions(+) create mode 100644 DEV3.4/TP4/stub/0Bad/Base.class create mode 100644 DEV3.4/TP4/stub/0Bad/Base.java create mode 100644 DEV3.4/TP4/stub/0Bad/Exemple.class create mode 100644 DEV3.4/TP4/stub/0Bad/Exemple.java create mode 100644 DEV3.4/TP4/stub/0Bad/MonBrin.class create mode 100644 DEV3.4/TP4/stub/0Bad/MonBrin.java create mode 100644 DEV3.4/TP4/stub/0Bad/MonMaillon.class create mode 100644 DEV3.4/TP4/stub/0Bad/MonMaillon.java create mode 100644 DEV3.4/TP4/stub/1Iterable/Base.class create mode 100644 DEV3.4/TP4/stub/1Iterable/Base.java create mode 100644 DEV3.4/TP4/stub/1Iterable/Exemple.class create mode 100644 DEV3.4/TP4/stub/1Iterable/Exemple.java create mode 100644 DEV3.4/TP4/stub/1Iterable/MonBrin.class create mode 100644 DEV3.4/TP4/stub/1Iterable/MonBrin.java create mode 100644 DEV3.4/TP4/stub/1Iterable/MonMaillon.class create mode 100644 DEV3.4/TP4/stub/1Iterable/MonMaillon.java create mode 100644 DEV3.4/TP4/stub/2Iterator/Base.java create mode 100644 DEV3.4/TP4/stub/2Iterator/Exemple.java create mode 100644 DEV3.4/TP4/stub/2Iterator/MonBrin.java create mode 100644 DEV3.4/TP4/stub/2Iterator/MonBrinIterator.java create mode 100644 DEV3.4/TP4/stub/2Iterator/MonMaillon.java create mode 100644 DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Base.java create mode 100644 DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Exemple.java create mode 100644 DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrin.java create mode 100644 DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrinIterator.java create mode 100644 DEV3.4/TP4/stub/explication.txt create mode 100644 DEV3.4/TP4/stubTPADN.tar.gz create mode 100644 DEV3.4/TP5/stub/exo3/Chef.class create mode 100644 DEV3.4/TP5/stub/exo3/Chef.java create mode 100644 DEV3.4/TP5/stub/exo3/Exemple.class create mode 100644 DEV3.4/TP5/stub/exo3/Exemple.java create mode 100644 DEV3.4/TP5/stub/exo3/Exemple2.class create mode 100644 DEV3.4/TP5/stub/exo3/Exemple2.java create mode 100644 DEV3.4/TP5/stub/exo3/Exemple3.class create mode 100644 DEV3.4/TP5/stub/exo3/Exemple3.java create mode 100644 DEV3.4/TP5/stub/exo3/Person.class create mode 100644 DEV3.4/TP5/stub/exo3/Person.java create mode 100644 DEV3.4/TP5/stub/exo3/Travailleur.class create mode 100644 DEV3.4/TP5/stub/exo3/Travailleur.java create mode 100644 DEV3.4/TP5/stub/exo4/Chef.java create mode 100644 DEV3.4/TP5/stub/exo4/Exemple.java create mode 100644 DEV3.4/TP5/stub/exo4/Exemple2.java create mode 100644 DEV3.4/TP5/stub/exo4/Exemple3.java create mode 100644 DEV3.4/TP5/stub/exo4/Person.java create mode 100644 DEV3.4/TP5/stub/exo4/Travailleur.java create mode 100644 DEV3.4/TP5/stub/exo5/Chef.java create mode 100644 DEV3.4/TP5/stub/exo5/Exemple.java create mode 100644 DEV3.4/TP5/stub/exo5/Exemple2.java create mode 100644 DEV3.4/TP5/stub/exo5/Exemple3.java create mode 100644 DEV3.4/TP5/stub/exo5/Person.java create mode 100644 DEV3.4/TP5/stub/exo5/Travailleur.java create mode 100644 DEV3.4/TP5/stubTPBamboche.tar.gz create mode 100644 DEV3.4/TP6/Donjon.class create mode 100644 DEV3.4/TP6/Donjon.java create mode 100644 DEV3.4/TP6/DonjonNPlocal.class create mode 100644 DEV3.4/TP6/DonjonNPlocal.java create mode 100644 DEV3.4/TP6/Main.class create mode 100644 DEV3.4/TP6/Main.java create mode 100644 DEV3.4/TP6/Piece.class create mode 100644 DEV3.4/TP6/Piece.java create mode 100644 DEV3.4/TP6/PieceNPlocal.class create mode 100644 DEV3.4/TP6/PieceNPlocal.java create mode 100644 DEV3.4/TP6/VuePerso.class create mode 100644 DEV3.4/TP6/VuePerso.java create mode 100644 DEV3.4/TPnote/Model/Billet.java create mode 100644 DEV3.4/TPnote/Model/Denomination.java create mode 100644 DEV3.4/TPnote/Model/Individu.java create mode 100644 DEV3.4/TPnote/Model/Main.java create mode 100644 DEV3.4/TPnote/TPnote.mdj create mode 100644 DEV3.4/ex2.mdj diff --git a/DEV3.4/TP4/stub/0Bad/Base.class b/DEV3.4/TP4/stub/0Bad/Base.class new file mode 100644 index 0000000000000000000000000000000000000000..729c95aa7c84d10f02456fe4b81fb6f6acf26235 GIT binary patch literal 820 zcmZuvT~8B16g{&$`^iE}DW6sWLEUYYieh|dL%;@&Nh1$iNgAHEb#0a`Thn&=UAiP< zG#Z}$QN}wXmKvPR%$alVoqNxn*`L3@{s8bCI~F+Z+js!iz@h=qMjmCcR7}j;g6nm0~bkCJG# z%dqgDsMp>RRr8}>5{%LTB~@KvG3(v<>eSLi>VqUbt^dipOYPWxKOJ<#myu9oi5|Cv z3@t3+opHP)8lG;%R&Y~NJ=D<7>T3@$ghYdD3Zg%5|%-i zOzbY97m(W**)vY8QC<3$#n{oAHXc6(}u_j`5IXitivQJ>sLiSkVr9F-@w}iL%o1`4oec7OEM*iqe(I?$&4;Z&iGD;)QtXt lHqS8Sx3vt@ep}Cw^UuMq71&f4ByNXL!5ZxqY+zI3z28@Mjv@d6 literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/0Bad/Base.java b/DEV3.4/TP4/stub/0Bad/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV3.4/TP4/stub/0Bad/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV3.4/TP4/stub/0Bad/Exemple.class b/DEV3.4/TP4/stub/0Bad/Exemple.class new file mode 100644 index 0000000000000000000000000000000000000000..1e92419ea49d4d142d5b50cbccedcc016a45dab9 GIT binary patch literal 1209 zcmZ`(NmCO+6#kk7W)cR%7F?0Wjj+2RD!4#c1e1VS+GO1*IK>{0&$ z#ZeBSN~^q3<-z~rUqD~aqy${jRsFuapE^I)u{5ksaVDox~1W^hC2)m6Q*r? z_ZT9nzNZY)w6iK15*gE$Ilokp?y@LYq=}Y+&*{&rK?Nf2SmEk2F@VspOg{N^TMmoq zJ542#`qQF&PPjr09jU&*UuMwPr8g}Ls-$M}IKoU>lPye3CsQq{V+Dk53X({WbKa-E z*R}{f=%inW`qY7`m8APLed{90NY?l7fqf!CD@u1mpo}1fvw;h_vIwGdfRDSVYl~D7 z{et?HT{P@L%Y;xL*h8#_If% z%TN{VRdkR@=C*(SP`TFyxzD1Nuudn2cEr(*Mhwt@!Wf#6Ml%-Cf@f&M3$kudTU=_) kTWZM`HRK&Jyr-H!;2a$wfw}{1X{gs=(4C~VbO#UdUuUQmjQ{`u literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/0Bad/Exemple.java b/DEV3.4/TP4/stub/0Bad/Exemple.java new file mode 100644 index 0000000..ae72d5c --- /dev/null +++ b/DEV3.4/TP4/stub/0Bad/Exemple.java @@ -0,0 +1,31 @@ +// Fichier Exemple pour le premier exercice sur l'ADN + +public class Exemple{ + public static void main(String[] args) { + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin GCTTAG"); + MonMaillon l = new MonMaillon(Base.G); + l = new MonMaillon(Base.A,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.C,l); + l = new MonMaillon(Base.G,l); + + MonBrin b = new MonBrin(l); + + System.out.println("l'affichage par défaut du brin ne va pas vous plaire"); + System.out.println(b.toString()); + + + System.out.println("On peut afficher en avançant"); + System.out.println("Il faut s'en inspirer pour implémenter l'interface iterator de Java.util"); + MonMaillon actuel = b.getDebut();//NB: c'est comme l ci-dessus + + while (actuel != null){ + System.out.println(actuel.getBase()); + actuel = actuel.getSuiteMaillon(); + } + } +} diff --git a/DEV3.4/TP4/stub/0Bad/MonBrin.class b/DEV3.4/TP4/stub/0Bad/MonBrin.class new file mode 100644 index 0000000000000000000000000000000000000000..78df7e0518465eca2e2dd34730ba298ca2d4f7bb GIT binary patch literal 331 zcmYjNyH3ME5S+dEkr?9`LQ6qs8;O(@L==Fi5-33F?c@|)WX_Uh^Iaf;kSO>7J_<1o z5lS<=JCD1)`~La-0&tF_01k!&^bq?v@Np<`m%3;hK{%aNc9xs6tn7urn;2`FOTjSN z71FuDxvrL)!qixO*FF`xe$0!KOn;@Do4?bdB;Ab(f`_WD7y8z8#*kNC)yAH!^XEK- zk5LF0p1|J;qStU7J literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/0Bad/MonBrin.java b/DEV3.4/TP4/stub/0Bad/MonBrin.java new file mode 100644 index 0000000..278cd61 --- /dev/null +++ b/DEV3.4/TP4/stub/0Bad/MonBrin.java @@ -0,0 +1,29 @@ +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version a un problème : la navigation n'est pas raisonnable +*/ +public class MonBrin { + + private MonMaillon debut; + //Le constructeur fabrique un brin à partir du premier maillon p; + public MonBrin(MonMaillon p){ + this.debut = p; + } + + public MonMaillon getDebut(){ + return this.debut; + } + + /** et pour naviguer? + On pourrait implémenter l'interface iterator de java.util ici + **/ + + +} + + diff --git a/DEV3.4/TP4/stub/0Bad/MonMaillon.class b/DEV3.4/TP4/stub/0Bad/MonMaillon.class new file mode 100644 index 0000000000000000000000000000000000000000..a34e2ca730d23ac2ba8e2918226a549a5c6cc5a6 GIT binary patch literal 533 zcmZvYPfx-?5XIln($ZQf3Ml?Nc!O%>;K75&gC?Fp4;bz(Hl(Ju3AB7JO(Z5B`~ZF^ z<7>fCjoD;&cILg`?C$5+`v-tC?3pN|X+XtR7PfV?bnFPk6KK6Fcj})D^l2K*+$a%P zy?z|^-5?C(hz;!`h=Sx&V6+$7&QPFU#}B^1?gf#5n?8B|vuk&zknv7cm< z1eJE@XQs{KAPo|KIZaSy^Vf895T}!oe-mVId(}F5bZ4#w6T22P=oTt41m;R0sAZCF z=tkr2o%iUE_%x;68RC$CQ0B*!xM2t@l_vvLE;|QQ3jl?R0^s-`K!&Lk&>)~mtBu+caKK#%C_AqxJu_L%)$(GCaf5eQ RT(&4x{z~^Ls?%OV;~OBCREq!r literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/0Bad/MonMaillon.java b/DEV3.4/TP4/stub/0Bad/MonMaillon.java new file mode 100644 index 0000000..1c2347f --- /dev/null +++ b/DEV3.4/TP4/stub/0Bad/MonMaillon.java @@ -0,0 +1,33 @@ +/** + MonMaillon code un maillon d'un brin d'ADN. + plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + On n'utilise pas java.util et on recode tout. + +*/ +public class MonMaillon { + + private Base b; + private MonMaillon suivant; + //Le constructeur de base retourne un brin à une base; + public MonMaillon(Base b){ + this.b = b; + this.suivant = null; + } + + // Le constructeur évolué ajoute une base à un brin. + public MonMaillon(Base b, MonMaillon l){ + this.b = b; + this.suivant = l; + } + + public Base getBase(){ + return this.b; + } + + public MonMaillon getSuiteMaillon(){ + return this.suivant; + } + +} + + diff --git a/DEV3.4/TP4/stub/1Iterable/Base.class b/DEV3.4/TP4/stub/1Iterable/Base.class new file mode 100644 index 0000000000000000000000000000000000000000..729c95aa7c84d10f02456fe4b81fb6f6acf26235 GIT binary patch literal 820 zcmZuvT~8B16g{&$`^iE}DW6sWLEUYYieh|dL%;@&Nh1$iNgAHEb#0a`Thn&=UAiP< zG#Z}$QN}wXmKvPR%$alVoqNxn*`L3@{s8bCI~F+Z+js!iz@h=qMjmCcR7}j;g6nm0~bkCJG# z%dqgDsMp>RRr8}>5{%LTB~@KvG3(v<>eSLi>VqUbt^dipOYPWxKOJ<#myu9oi5|Cv z3@t3+opHP)8lG;%R&Y~NJ=D<7>T3@$ghYdD3Zg%5|%-i zOzbY97m(W**)vY8QC<3$#n{oAHXc6(}u_j`5IXitivQJ>sLiSkVr9F-@w}iL%o1`4oec7OEM*iqe(I?$&4;Z&iGD;)QtXt lHqS8Sx3vt@ep}Cw^UuMq71&f4ByNXL!5ZxqY+zI3z28@Mjv@d6 literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/1Iterable/Base.java b/DEV3.4/TP4/stub/1Iterable/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV3.4/TP4/stub/1Iterable/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV3.4/TP4/stub/1Iterable/Exemple.class b/DEV3.4/TP4/stub/1Iterable/Exemple.class new file mode 100644 index 0000000000000000000000000000000000000000..9e48e56ccc53a4f49f8d5f598d257feec224fad1 GIT binary patch literal 1092 zcmZ`(*-{fh6g^FrNrnMp!lEKFxDghK8=`=+M8G8htCF%rU+fGG3{GZJlbHxVpx@vZ zSUk!DRB4qjy!jtK`voqyXHp_ANmbv|cR78xR5m5@Rw{LpOR9OlY`;+YG&iW7j>`H$2m^^)+9w5U0MBFPG<* z6ijNE!Zd?gbnGHGEz7YL+|h6sGm>Xk!(52wHRL6_hZzQiyyuBVx-2k^TZ4Rk-844& zhR|!=)z=Pp*SYWgdd(JkgOjDMHyppN*DP+jLc=1K7-m;&y(Y+6Hoy}$w>>>%6Rs|7 z-SiH3-9Xt8hVI+?t4*p|H=JsfPGOiD?&E=mhj=7wDNuIJZZM>dTDel$5{7q7Robb0 zqDqr-d@^)}eK(!lW2(%f)(c*pV#ov>$JO*kO*&aLv99dD2Ns>@bs7z$65|Dli7S~6 zksK(S3t|IH;i&t;uvwYxd0La~pO%E@giFEDnH~E3Wy)-m*O$dMRYV*2j26odE(!8( zW^pXzurKr~2GB{XEI%!vMMMvsC+XHll97xJAAr3lz;KGrc%Y0RiPPvMEM31KiU`R! zduT~V_7VMv*yViwv?@&pv Z>0jXtMQUjI23J8$ftI0S`vT^(KLIQq^#%X{ literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/1Iterable/Exemple.java b/DEV3.4/TP4/stub/1Iterable/Exemple.java new file mode 100644 index 0000000..94a55a7 --- /dev/null +++ b/DEV3.4/TP4/stub/1Iterable/Exemple.java @@ -0,0 +1,34 @@ +// Fichier Exemple pour le second exercice sur l'ADN + +public class Exemple{ + public static void main(String[] args) { + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin GCTTAG"); + MonMaillon l = new MonMaillon(Base.G); + l = new MonMaillon(Base.A,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.C,l); + l = new MonMaillon(Base.G,l); + + MonBrin b = new MonBrin(l); + + System.out.println("l'affichage par défaut du brin ne va pas vous plaire"); + System.out.println(b.toString()); + + System.out.println("On peut maintenant afficher en itérant avec un while comme ceci"); + + while (b.hasNext()){ + System.out.println(b.next()); + } + + // ajouter du code ici pour gérer les questions en plus + // (simulation de plusieurs navigations successives) + + + // (simulation de plusieurs navigations simultanées) + } + +} diff --git a/DEV3.4/TP4/stub/1Iterable/MonBrin.class b/DEV3.4/TP4/stub/1Iterable/MonBrin.class new file mode 100644 index 0000000000000000000000000000000000000000..b69f22355f5a947b61193c19a9303f97f8f69819 GIT binary patch literal 915 zcmZvb-%ry}6vw}J-RM@zHpWB+Q3fbmkxlV|2MLKNCM0Y;%$Vp~x800lX-U_T{VV#T^671#c1`=9JJ(+cPrJ}M}eufZ+1U5 z&65O^cA~>95j*BUQdF7CBlFa3*rwBO9CVIk*Jn7_w)&3g2OjUP|C!5wi|d|`PK@R>zu)kXF2uo79B;b>zG1bM*(>ibsddxa~Jn?Ji~K=#Yjzr zZn^ECd$?=MW9j(2!>&B>E!WX8hj{@t;R+PT^$V0nkZXO>NH}6`^d^K10_)UtI4{xR z!^AD1!uOm6r6Wa4vHTeLD3PDws)%XY5~DAek)kgcR}jY9SENFte2EHXXiG@bPSci< z!weB+mX>iR0W8o9W@L;Dq|R^3!dt+h2+aOBRT)p6XDVk%8_L?G4*_{nl?$YQA)}n7 z&lpKj1LII=m)YhDn_R_x?i2`}MVxH{If%LkmW)eeK4aEMVC*kmO`Ly+`r!)MpEuyR n-F5yHbqZ;aws8%gE573PK>{E3eTm$7GvVA9BIZLpiu~eVJqDjq literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/1Iterable/MonBrin.java b/DEV3.4/TP4/stub/1Iterable/MonBrin.java new file mode 100644 index 0000000..f808b74 --- /dev/null +++ b/DEV3.4/TP4/stub/1Iterable/MonBrin.java @@ -0,0 +1,59 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version a un problème : la navigation n'est pas raisonnable +*/ +public class MonBrin implements Iterator{ + + public MonMaillon debut; + public MonMaillon index; + //Le constructeur fabrique un brin à partir du premier maillon p; + public MonBrin(MonMaillon p){ + this.debut = p; + this.index = p; + } + + public MonMaillon getDebut(){ + return this.debut; + } + + public MonMaillon getIndex(){ + return this.index; + } + + // rappel : on met @Override pour dire au compilateur qu'on veut surcharger (en particulier c'est le cas quand on implémente une interface) + // ce n'est pas nécessaire dans ce cas mais ça permet d'avoir des messages d'alerte si on se trompe (typo dans le nom de la méthode ...) + // voir https://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why + @Override + public boolean hasNext(){ + if (this.index.suivant==null){ + return false; + } + else{ + return true; + } + } + + @Override + public Base next() { + if (this.hasNext()){ + this.index = this.index.suivant; + return this.index.b; + } + else{ + throw new NoSuchElementException(); + } + + } + +} + + + + diff --git a/DEV3.4/TP4/stub/1Iterable/MonMaillon.class b/DEV3.4/TP4/stub/1Iterable/MonMaillon.class new file mode 100644 index 0000000000000000000000000000000000000000..4334c4e54d9c8334bbdeb6764bc9134f2e94b260 GIT binary patch literal 533 zcmZvY%}&Bl5QWdQh0^$H>9Sv3A8+yCK3}DK7bEp zJOvD3Oq03OnRC9Gd%wOvJ^`F#-$o8K3kJ5cuw$ZbVpkx2LB4(MkJW|19H+s=j}n2? z?!-~Y55h2x*vMZ7QIK2-tj1j1>lgU5RmiUpuI2=P6C(Cigm_K T?l50=RjU7$9#B-FMML!m9=TMB literal 0 HcmV?d00001 diff --git a/DEV3.4/TP4/stub/1Iterable/MonMaillon.java b/DEV3.4/TP4/stub/1Iterable/MonMaillon.java new file mode 100644 index 0000000..b6cf51a --- /dev/null +++ b/DEV3.4/TP4/stub/1Iterable/MonMaillon.java @@ -0,0 +1,33 @@ +/** + MonMaillon code un maillon d'un brin d'ADN. + plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + On n'utilise pas java.util et on recode tout. + +*/ +public class MonMaillon { + + public Base b; + public MonMaillon suivant; + //Le constructeur de base retourne un brin à une base; + public MonMaillon(Base b){ + this.b = b; + this.suivant = null; + } + + // Le constructeur évolué ajoute une base à un brin. + public MonMaillon(Base b, MonMaillon l){ + this.b = b; + this.suivant = l; + } + + public Base getBase(){ + return this.b; + } + + public MonMaillon getSuiteMaillon(){ + return this.suivant; + } + +} + + diff --git a/DEV3.4/TP4/stub/2Iterator/Base.java b/DEV3.4/TP4/stub/2Iterator/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV3.4/TP4/stub/2Iterator/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV3.4/TP4/stub/2Iterator/Exemple.java b/DEV3.4/TP4/stub/2Iterator/Exemple.java new file mode 100644 index 0000000..b48d0a7 --- /dev/null +++ b/DEV3.4/TP4/stub/2Iterator/Exemple.java @@ -0,0 +1,35 @@ +// Fichier Exemple pour le dernier exercice sur l'ADN (Iterable) + +public class Exemple{ + + public static void main(String[] args) { + + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin GCTTAG"); + MonMaillon l = new MonMaillon(Base.G); + l = new MonMaillon(Base.A,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.C,l); + l = new MonMaillon(Base.G,l); + + MonBrin m = new MonBrin(l); + + System.out.println("l'affichage par défaut du brin ne va pas vous plaire"); + System.out.println(m.toString()); + + System.out.println("On peut afficher en itérant avec forEach (une méthode proposée par Iterable, regardez la doc)"); + m.forEach(b -> System.out.println(b)); + + System.out.println("On a découplé la navigation de la structuration en implémentant iterable plutôt que iterator. On peut maintenant naviguer 2 fois facilement, c'est vraiment trop fort."); + m.forEach(b -> System.out.println(b)); + + System.out.println("On peut même utiliser les boucles avancées de Java 8 et notre code en devient presque pythonesque"); + for(Base b: m){ + System.out.println(b); + } + } + +} diff --git a/DEV3.4/TP4/stub/2Iterator/MonBrin.java b/DEV3.4/TP4/stub/2Iterator/MonBrin.java new file mode 100644 index 0000000..b6782cc --- /dev/null +++ b/DEV3.4/TP4/stub/2Iterator/MonBrin.java @@ -0,0 +1,37 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version est correcte : la structuration et la navigation sont dans 2 classes séparées. +La classe MonBrin implémente Iterable au sens où elle peut générer à la demande un objet Iterator. + +NB : Notez que j'implémente Iterable plutôt que Iterable qui n'était pas tout à fait propre +c'est un peu technique et c'est lié aux types génériques. + Il y a des détails ici +https://stackoverflow.com/questions/20790770/why-cant-i-assign-a-raw-type-to-a-parameterized-type-java?rq=1 +*/ +public class MonBrin implements Iterable{ + + + public MonBrin(MonMaillon p){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon getDebut(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + /** Pour naviguer? + On implémente l'interface iterator de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navigation fonctionne. + **/ + @Override + public Iterator iterator() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } +} diff --git a/DEV3.4/TP4/stub/2Iterator/MonBrinIterator.java b/DEV3.4/TP4/stub/2Iterator/MonBrinIterator.java new file mode 100644 index 0000000..a2a85e7 --- /dev/null +++ b/DEV3.4/TP4/stub/2Iterator/MonBrinIterator.java @@ -0,0 +1,32 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** +MonBrinIterator + +gère la navigation dans un Brin d'ADN + +*/ +public class MonBrinIterator implements Iterator { + + public MonBrinIterator(MonMaillon m){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + /** Pour naviguer? + On implémente l'interface iterable de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navogation fonctionne. + **/ + @Override + public boolean hasNext(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + @Override + public Base next() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV3.4/TP4/stub/2Iterator/MonMaillon.java b/DEV3.4/TP4/stub/2Iterator/MonMaillon.java new file mode 100644 index 0000000..d5e4c66 --- /dev/null +++ b/DEV3.4/TP4/stub/2Iterator/MonMaillon.java @@ -0,0 +1,29 @@ +/** + MonMaillon code un maillon d'un brin d'ADN. + plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + On n'utilise pas java.util et on recode tout. + +*/ +public class MonMaillon { + + //Le constructeur de base retourne un brin à une base; + public MonMaillon(Base b){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + // Le constructeur évolué ajoute une base à un brin. + public MonMaillon(Base b, MonMaillon l){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon getSuiteMaillon(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Base.java b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Exemple.java b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Exemple.java new file mode 100644 index 0000000..b4afd21 --- /dev/null +++ b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/Exemple.java @@ -0,0 +1,58 @@ +// Fichier Exemple pour le dernier exercice sur l'ADN (Iterable) + +public class Exemple{ + + public static void main(String[] args) { + + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // codon CAT code Histidine + // codon CGT code Arginine + // codon GCC code Analine + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin CGT CAT CGT GCC CAT GCT TAG"); + MonBrin l = new MonBrin(Base.G); + l = new MonBrin(Base.A,l); + l = new MonBrin(Base.T,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.C,l); + l = new MonBrin(Base.G,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.A,l); + l = new MonBrin(Base.C,l); + // + l = new MonBrin(Base.C,l); + l = new MonBrin(Base.C,l); + l = new MonBrin(Base.G,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.G,l); + l = new MonBrin(Base.C,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.A,l); + l = new MonBrin(Base.C,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.G,l); + l = new MonBrin(Base.C,l); + // + + System.out.println("l'affichage par défaut ne va toujours pas vous plaire"); + System.out.println(l.toString()); + + System.out.println("On peut afficher en itérant avec forEach (une méthode proposée par Iterable, regardez la doc)"); + l.forEach(b -> System.out.println(b)); + + System.out.println("On a découplé la navigation de la structuration en implémentant iterable plutôt que iterator. On peut maintenant naviguer 2 fois facilement, c'est vraiment trop fort."); + l.forEach(b -> System.out.println(b)); + + System.out.println("On peut même utiliser les boucles avancées de Java 8 et notre code en devient presque pythonesque"); + for(Base b: l){ + System.out.println(b); + } + } + +} diff --git a/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrin.java b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrin.java new file mode 100644 index 0000000..6cd0ad1 --- /dev/null +++ b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrin.java @@ -0,0 +1,83 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** +MonBrin code un brin d'ADN sous forme de tableaux. Dynamiquement, la taille du tableau est augmentée en cas de besoin (la taille est initialement 3*4 elle est multipliée ensuite pour être toujours de la forme 3*2^n). +On utilise System.arraycopy et java.util.Arrays.copyOfRange pour faire ça efficacement. +voir +https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#arraycopy-java.lang.Object-int-java.lang.Object-int-int- +https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#copyOfRange-T:A-int-int- + +Cette version est correcte : la structuration et la navigation sont dans 2 classes séparées. +La classe MonBrin implémente Iterable au sens où elle peut générer à la demande un objet Iterator. + +NB : Notez que j'implémente Iterable plutôt que Iterable qui n'était pas tout à fait propre +c'est un peu technique et c'est lié aux types génériques. + Il y a des détails ici +https://stackoverflow.com/questions/20790770/why-cant-i-assign-a-raw-type-to-a-parameterized-type-java?rq=1 +*/ + +public class MonBrin implements Iterable { + + /** + C'est le constructeur de base (pun intended) qui construit un brin à une base + + @param b : la base + + Ici je pourrais mettre un commentaire plus long sur le fonctionement détaillé de mon super constructeur. + + */ + public MonBrin(Base b){ + + } + + /** + C'est le constructeur évolué qui construit un brin en ajoutant la base donnée en argument devant le brin donné en argument. + + @param b : la base qui va aller devant + @param l : le brin qui sera à la suite + + NB. Ce constructeur est un peu obsolète avec la nouvelle structure interne. + On devrait en ajouter un qui prend en paramètre un tableau de bases. + */ + public MonBrin(Base b, MonBrin l){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public int length(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public int limit(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public int capacity(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(int i){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base[] getBases(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + /** Pour naviguer? + On implémente l'interface iterator de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navigation fonctionne. + **/ + @Override + public Iterator iterator() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + +} + + diff --git a/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrinIterator.java b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrinIterator.java new file mode 100644 index 0000000..363d355 --- /dev/null +++ b/DEV3.4/TP4/stub/3IteratorDifferentInnerStructure/MonBrinIterator.java @@ -0,0 +1,33 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** +MonBrinIterator + +gère la navigation dans un Brin d'ADN + +*/ +public class MonBrinIterator implements Iterator { + + //Le constructeur de base retourne un brin à une base; + public MonBrinIterator(MonBrin brin){ + } + + /** Pour naviguer? + On implémente l'interface iterable de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navigation fonctionne. + **/ + + @Override + public boolean hasNext(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + @Override + public Base next() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV3.4/TP4/stub/explication.txt b/DEV3.4/TP4/stub/explication.txt new file mode 100644 index 0000000..9254e46 --- /dev/null +++ b/DEV3.4/TP4/stub/explication.txt @@ -0,0 +1,20 @@ +Les biologistes sont des gens étranges pour lesquels les string n'ont que 4 lettres : A,C,G ou T. +Ils ne connaissent pas les String, ils parlent d'ADN. + + +Le Brin est une succession de Maillons. +Il suffit de connaître le premier maillon pour définir un brin d'ADN. + + +----------+ + | maillon | + | | _____ next __> autre Maillon + | | + +----+-----+ + | + | val + \|/ + +----------+ + | Base | + | A | + | | + +----+-----+ diff --git a/DEV3.4/TP4/stubTPADN.tar.gz b/DEV3.4/TP4/stubTPADN.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d5ee521d4c7990e8e6f1151f8abab035da6fa82d GIT binary patch literal 3835 zcmVz~C=Kl#- z!g|fe{8nw?1b4fgrSsoxwRf8Bb`K`K*X_aeRtuKG4r^?~=2y+o&g6cB9=j`@am5{wR!Mh7)QfvGlBL zjvrU9+&T$gCeHAgCwy2T&(0k&ie(r)u2kv|AF|5a8ex^nVDeien8#Vb$8x~2FmrjJ zP}X2k=I$OmJ*iY4)-$2vcw8wqUlTB*+f*#O_7{{qUxDZ$*;B7S7t9F*MGIDd)N%z$ zD;9|ugjhi0t&dGk{sUk2&Byd?+VWhR)%0(AXirPHcl57r5IXz=Nk{BiBBHPLb)**o zF+90Mj-mUz552Nsm1>%hTJy6LA7maXVjBp^KiF}<@A2=e00RiO_ z4?|!tpl*%0Dva0UQaspuoDTPLZb#*%9mS^Hs!iR_M_c(ELLQrDsq5XRcV zo%|kyngWsf8vdfHp-Rnd`(f+f!Jfq`Ak=XPB#51t7ho>?7LOu+;e?|Ll*iLCI>5`y z!W%D6|Hgws+Q=!F(8%Oh&cx}dbU+&*hgM}AN>G)sYT6 z_0Q=>osT44se4dwJ>_E<``({(W@^L<-nU-#UkfL$f%aK^5&yqw!`Q`o+C^%((9hbd zM+ei2D~BXwL3S%tI5+`L7)8*yV2^NsRVrMxLK5>DN`)|gWGu9_RRI2nnp}=JI3_|_ zmFGOYoN4YErF)zyT3A2|CYyzm|LK)55}-K;;N*ad18xnN1JJH3d>-gk8^Qp^xtU>A zDko2X-;*#FKa(zgy}PKL)EpUkNj&+lR@ylWZxRU_26PRVTFH>|hK5h+0_f^URJ4kR z_JKbZ3uhSMw!mT0cW~K4XU@q-Q&|VF42%Uk_Sgl(ZoulLhCGE<#dKYPjB|bpVKPp= z@QfxHpTvPy^;VTE)CD7%-KfH=LVLTGFJ$4hw?}FI>P0 z7#=fyu+j###Z_NmeOAe?>F=dxZE68chi1vxOfJWvmq62tM*~DA2hj%RW1RJ!xnTRH z;*>{&ME60Asfb8LHx((C$U2bQx>pC4SQvB0VXsALjdP_vESe4zt87YE5YQIb21L;mTy z#P^EU^Z%cn3pC>1$N%pv_5VAKc5kQIwlNOSv2E@D+a~{03f1fETj>lXSV8F|Yk!r3 zlu>}!#kq(a38IoLUvlWHnIXS7XY;3Zyv>ccOklw%$M6B}t_v~{EG1Z6G8lli0P9i} z#a8|WSaU+KLfO&bD;-tvc6q=(m;;tMHX^Xj)Cz@k7&NH z4o2$jgO0IAFmSPlayzq(DX^YslN#B^?%^l$hu?7kfr(6lBjpAv`;t^d(SWs%3I!Jy zIN0}A6?rvNq+Y*C>4ilOR~I?jben7R^YBJ(uF;8Y^z&%b{oKab-cdiV-GU&IFq}6; z;}Ez68z`;8 z)CF@bLRX#~Eg;y~r{!oJJ!a%|s!Vu-7j<`Y!Ww4VL4RC$j%rnf-q^ zNYI<$|DfbfquBumz~KMNpt<=6Rro!|vBTTudKb|u{7<)=;eR^a4t$5Zt!~5ke`OG* zZc*G%XFkv1`sv^9?o2vYho>+hA_W>ZGQcpH16nH*lwMUBvmb-%?WcKIN~Q)eC1s|u zc~tfip@%BZ5HYZ%CVx<70;)*0H~FJ*1C?FI5@`P*^iz8Qqw<<5(6Pa8mZ(LeYZ}o5 zJqpi7f;xw>I%^^DC>w)~B8$>Wr|F$c)81`>8obbX?(b5#r{-@pOVg9GvZJ799DRkfPf182j&G5N4G!Oc56@{1QQl?;}V#Z||7H_7^QYh6- zsipX+Ta;P~Qk&(SN?pMm`g6FeVpX?7TV(^RQCBwuTluqKtF`zj6LjU@ThP^pdcG~t zmH$zIu1Noj^AX5snt3Zek2l@M3jN<~*mkD>I}N)9`ro$A`7h?0y zQYqR-T-Tum?>TbcZU zdl!XOBz!bsvQQ570=0$=WW?rBE%{dbtd`Sf`Nd!IO4u)ji){M!MTP9*=EnJKb${HIOl zgrXm4&VMY0=H`DZ_|HzSlh1#**(3aC)9C+F$lyPh;y*tO5T^lRUNaV-5D;@qG$;S> z4*$8_|I_%-RQ@+8|8MttJtP0iAcOzB-*nafD;@vS>b3LpAHf0W68@)U@SmlS!T)Rz z|HBE}5`}$l@|%BC1Q1-;L2ZrrvDSu~@mUdE79>;bG-41&^`gtQJEU7wFf7vk}vFdWFWyUQuHiJ@E{AHX0kT=Yaly8xSp zWgAD(4Z*6Q`onZx6<2#cgqCIH{LG|GuLDti(P?*^^|PS}YHnD&2$Nc(G&oAt!gNq; zJP5*=CJ?^5wX@-cff+AgWVY(XlDL{>!`|uBxz_Pe=Jfwo@E^@Q|6|+DhQ|N4js7o% zuEBpOP+xc+<`wwIGR#L|Z>$gZ_yAEJ2HA02WJmu)LU#1u1KCl)F)Rmpfc17Zlyn-e zkA|3VheOzC0; zRWN}QFNc0iuR=a2Ne`U~g{_iC9M|6YpU+i{+;y+FE{#Q9<@_*+17jyp0{Y^Vg<^P?e{)pDf z|Ka)1Hi1D9|I;)6e>r6GfA^ba?7z*Y{)kqd|I%vZ_Ft=k?|<1Hv;WH>le^no?yiuh zn`(3XO)12rV}x>9if*Z~dCL3rK6}x~q?8iHf3Be0=k3n>ozSBph2<^MrLp+6@$`4U z;$k8$y1@(N*<0M~GaI+f0jbm1RyWol;0O5$J{ z37nF?HPx$+>-Cc-k5ZV4PDy#pku_H+RY(ENr>D}o{sa@2cx(JpfG%(4QJ4aUNI7fM xan%i{U5<+1m^&t003fso`nDa literal 0 HcmV?d00001 diff --git a/DEV3.4/TP5/stub/exo3/Chef.class b/DEV3.4/TP5/stub/exo3/Chef.class new file mode 100644 index 0000000000000000000000000000000000000000..91527abcfe175580f96bb51cb4b483f8fa3c38d1 GIT binary patch literal 962 zcmaJX#aV!GU#$+sHaoKoR%t0oO1%cjXP?mMAd`~q6MvHs$nal;+t>cCe5lc!fq1)Z5b62M=7m+X(a)L18CdV26^Hl_y*BX(u(&g|cwh zH)$rvDm4PXqBdRAC9$!q9xoV~HU=?dBZsRt#&J$yBo41lQ@>ridIRnnqIT}`7dbQl$@}8>bwe}2}?h7NPrnCVS(tpDQhT3%6 zsRd7~n(~>kFP{rUokGEk!Djwu;BCr^Zupqy&Gztd2>w*Yb(mfVBZ$&JgHhTsMy44H zaZP02L1bG9z2QdSENzS{V9|0Q9rzL-lYx(9l7|RqJ|XgOuzHB-dx*E)#D0Y7kFwJk zyN)xJlj#)L;h8yg!ujy6lxf;R>=h=G#!a;l|AL+t5F~=E-S subalternes; + + + public boolean addSubalterne(Person p){ + return this.subalternes.add(p); + } + + + + /** constructeur + * + * @param n fun factor + * + */ + public Chef(int n){ + super(n); + this.subalternes = new ArrayList(100); + // d'autres choses peut-être. + } + + + /** + * La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi. + * + * @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle. + * + */ + public int bestPartyWithoutMe(){ + int funParty = 0; + for(int i=0;iA+_Mjhk}Y*p!UVYgc@FqBqRk(N+hT+vvhzV`$4v|L>~1Y z=|h`H;t%lAA7s4K@)7po-ZMA%+y`jP~OkzprT0TnJF!sWvBAk z!!tbRc;R6MFFgdPajbe+!?K5U)EM~nFovnS%^$)ud8BDXux+-Fi*C1*ha%E4OGrRD zXtib5OOs~p(>-42vZrNCZquCD)sYvKHrixFlN~AICPOKdJ>3?Wz8v1mHbZ5&`hFux zJ2$k5?q&LxaiH`m4d0PiLYbb#d}X zQ3R*_{R)LcK0vW`19l9Ua;UU>1?zBZ0DHsot+hU!1K(O7rMgK!!F{Wbu|7)I&?R_F z->?neHhjl-OeYO+eEWv#jHq`yH;2kx(pe^*9_Go|3f1c5;x%b+QgsUz?4gP;@NrCk TUxGPYQ0F%+lCugqD&XONuTqDc literal 0 HcmV?d00001 diff --git a/DEV3.4/TP5/stub/exo3/Exemple.java b/DEV3.4/TP5/stub/exo3/Exemple.java new file mode 100644 index 0000000..9a23013 --- /dev/null +++ b/DEV3.4/TP5/stub/exo3/Exemple.java @@ -0,0 +1,36 @@ +public class Exemple { + public static void main(String[] args) { + // bar 2 + // foo 5 + // titi 4 + // tata 4 + // toto 6 + // tete 6 + + Travailleur titi = new Travailleur(4); + Travailleur tata = new Travailleur(4); + Travailleur toto = new Travailleur(6); + + Chef foo = new Chef(5); + foo.addSubalterne(titi); + foo.addSubalterne(tata); + foo.addSubalterne(toto); + System.out.println(foo.bestParty()); + System.out.println(foo.bestPartyWithoutMe()); + + Travailleur tete = new Travailleur(6); + // System.out.println(tete.bestParty()); + // System.out.println(tete.bestPartyWithoutMe()); + + Chef bar = new Chef(2); + bar.addSubalterne(foo); + bar.addSubalterne(tete); + System.out.println(bar.bestParty()); + //System.out.println(bar.bestPartyWithoutMe()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo3/Exemple2.class b/DEV3.4/TP5/stub/exo3/Exemple2.class new file mode 100644 index 0000000000000000000000000000000000000000..5a6ba52d79a614262aa649c7d6d468167dad0643 GIT binary patch literal 664 zcmY*VZEMqD6g^Ly$-N!UVNEv>9iL1Ww^?|425Cc3LTRv2+8`mW#px#i8%C6 z>4z3J@CS&$NxU~wM)To5=N|6KJ?H-Zd-V&zHa1OEuqe?mQ9x5-$%KX`m*p~StT0+N zv4(YtyAt;Vj8}f-r@I10r*$l#?ZrbSaJ%P6>L3d}l^nTVK#Uf;ek9OzKK3r$FK#Dr zqqEK+P5kJr%R+MyXUVC0+0=4ymXDwK$3RI2~YWyHjS;EwP-gd4&TX=vC ziH8;*;jx7$cq-voXz@U4_9KDX&DulnLY<~0clLR8)g2B8ndb(nN+Q}`ae94~jN_== z`Y@*(T#i!}Qq(vjb>n{!KkoD?MM_ze8+HZCo*JipH%Tw^qwEXR^VRc%0&>K%AR_yG zb^ZzvoR#V=>elHM^y-^ah#v&#u2hYjq&=wN4q+bsgCa`we!oWH#F(PkV;~8^!V7AQ*r^?&8Kes2H( literal 0 HcmV?d00001 diff --git a/DEV3.4/TP5/stub/exo3/Exemple2.java b/DEV3.4/TP5/stub/exo3/Exemple2.java new file mode 100644 index 0000000..808a518 --- /dev/null +++ b/DEV3.4/TP5/stub/exo3/Exemple2.java @@ -0,0 +1,33 @@ +public class Exemple2 { + public static void main(String[] args) { + // Exemple inspiré question Thibault B. + // 1 + // 10 + // 1 + // 1 + // 10 + // 3 + // 4 + + Travailleur a = new Travailleur(3); + Travailleur b = new Travailleur(4); + Chef c = new Chef(10); + c.addSubalterne(a); + c.addSubalterne(b); + Chef d = new Chef(1); + d.addSubalterne(c); + Chef e = new Chef(1); + e.addSubalterne(d); + Chef f = new Chef(10); + f.addSubalterne(e); + Chef g = new Chef(1); + g.addSubalterne(f); + + System.out.println(g.bestParty()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo3/Exemple3.class b/DEV3.4/TP5/stub/exo3/Exemple3.class new file mode 100644 index 0000000000000000000000000000000000000000..fee4d5146f796e161a81a22b726f7830385ba41e GIT binary patch literal 875 zcmY*YJ8aWX6g@Ao{SwFd&@^dZ|Adw%g%Ak_M1oi&kH=$3c{V ziJh4VF*25+k*LJN#=ywT$jFX_xG%w~;^E%=j_3>&^Ehm$&ju)p4=XETGHROTP`75 z$96o1eDP`h*nVMGT-!UWGy~u94r_{NHoF7=Kt6C(bMpR6+3C6R)(zEb!9tQDvFp>p zaa}p^6||z%j^uL-mr>xjVqq0)7OrBQqiCU|8e-ufhRlWRPU~161Vk@xDe0u$ZZ`)l z+YO}ek$R$7Z%Du2^=hRj6TIe0Kad?-wL2hoZoG)otu$zhfOe5~r^XO($$rqV{orI| z$`(U*Bt6;4z)N9WM?Gv*NbcKO;FjK}5cDk@YXu&N2IJOSuJ7g~snh*d)vLJy%4 ziwiD{F*25^#zMhrTvZwM5mi&k#FR`zBt%RRD98V2GaRX_4og@f5snohV=#}rw(0FDA;C=zm${J%ptuu0xO zB=`5o(r0A#5n0-!?pMg-4W{uHIlMz2A25TDn8hjm5$Bl0SIpx(P5gl+{3M-USix_) U)jue(C{|etYjjOhq#r@{A2@)fF8}}l literal 0 HcmV?d00001 diff --git a/DEV3.4/TP5/stub/exo3/Exemple3.java b/DEV3.4/TP5/stub/exo3/Exemple3.java new file mode 100644 index 0000000..55651c9 --- /dev/null +++ b/DEV3.4/TP5/stub/exo3/Exemple3.java @@ -0,0 +1,43 @@ +public class Exemple3 { + public static void main(String[] args) { + + Travailleur a = new Travailleur(3); + Travailleur b = new Travailleur(4); + Chef c = new Chef(10); + c.addSubalterne(a); + c.addSubalterne(b); + Chef d = new Chef(1); + d.addSubalterne(c); + Chef e = new Chef(1); + e.addSubalterne(d); + Chef f = new Chef(10); + f.addSubalterne(e); + Chef g = new Chef(1); + g.addSubalterne(f); + + Travailleur titi = new Travailleur(4); + Travailleur tata = new Travailleur(4); + Travailleur toto = new Travailleur(6); + Chef foo = new Chef(5); + foo.addSubalterne(titi); + foo.addSubalterne(tata); + foo.addSubalterne(toto); + Chef bar = new Chef(2); + bar.addSubalterne(foo); + Travailleur tete = new Travailleur(6); + bar.addSubalterne(tete); + + Chef x = new Chef(2); + x.addSubalterne(g); + x.addSubalterne(bar); + Chef y = new Chef(39); + y.addSubalterne(x); + + System.out.println(y.bestParty()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo3/Person.class b/DEV3.4/TP5/stub/exo3/Person.class new file mode 100644 index 0000000000000000000000000000000000000000..541ec09772366f5ace98efd724b49d5cb8267de7 GIT binary patch literal 972 zcmaJ=&u>tHoLP#{7XFe z514o{(KM-v9=!QSsc*ZDU}!w-d-J~c<9qMT?9X2p-vAt-oJ0c4DVSI>v6>|;mqHAA z6B{Nr8Irv~9`cS>9s{c}r29f2j-l9Yk-&IWbp=DFZcFhzIBN^qiu^ zTPwC0=9`*#1`Y0B`Lk`|>m%;z(TS~Jt3Wp>Dft&Obqk_?Mal+wQTxZ4m!)%7z8ShLtl zV;gtELIr9!BB0=L#TV^U(a{VvX)A>t++{eZ3yaob^=L05@GP3aa+PmuyJxAul7X{l z4OQS` zzV9;>#yPees(~m+sS!zZb0ZTEXt=skgTSRLtVt=ns>6L>5c9i9hN~LUik@-Vb%bAt z5-ZbNB. Cette méthode ne peut pas être appelé directement pour instancier un objet car la classe est abstraite, mais sert dans les constructeurs de classes dérivées. + * + * @see Travailleur, Chef + */ + // + public Person(int n){ + if (n < 0) + throw new IllegalArgumentException("Le fun facteur est positif ou nul, vous avez proposé " + n); + this.funFactor = n; + } + + /** + * + * @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle. + */ + public abstract int bestPartyWithoutMe(); + + + /** + * + * @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle). + */ + public abstract int bestParty(); +} + diff --git a/DEV3.4/TP5/stub/exo3/Travailleur.class b/DEV3.4/TP5/stub/exo3/Travailleur.class new file mode 100644 index 0000000000000000000000000000000000000000..163aff02a9baabca138e95ce3382160cdf700814 GIT binary patch literal 339 zcmZ8b!AiqW5S&fY#J)yb>q*6fp4uL~dMRFnKtZKo(Q{HC`XuJT>xQ87y4>kejm9wL84yn4*I? z#Slu+`y(>PT)UO61nG_TSzTrM(p!gpW{sE~L}`xM6K)3xSU^14eT6)860EVSZ&uOS nBh%&n<^Ji+=GRDm{I literal 0 HcmV?d00001 diff --git a/DEV3.4/TP5/stub/exo3/Travailleur.java b/DEV3.4/TP5/stub/exo3/Travailleur.java new file mode 100644 index 0000000..3ecbd57 --- /dev/null +++ b/DEV3.4/TP5/stub/exo3/Travailleur.java @@ -0,0 +1,31 @@ +/** feuille du motif composite */ +public class Travailleur extends Person { + + /** constructeur + * + * @param n fun factor + * + */ + public Travailleur(int n){ + super(n); + } + + /** + * + * @return fête sans le travailleur + */ + public int bestPartyWithoutMe(){ + return 0; + } + + /** + * @return fête avec le travailleur + */ + public int bestParty(){ + return this.getFunFactor(); + } + + +} + + diff --git a/DEV3.4/TP5/stub/exo4/Chef.java b/DEV3.4/TP5/stub/exo4/Chef.java new file mode 100644 index 0000000..38ed1b9 --- /dev/null +++ b/DEV3.4/TP5/stub/exo4/Chef.java @@ -0,0 +1,48 @@ +import java.util.LinkedHashSet; +import java.util.Objects; + +/** feuille du motif composite */ +public class Chef extends Person { + + + public boolean addSubalterne(Person p){ + + } + + + + /** constructeur + * + * @param n fun factor + * + */ + public Chef(int n){ + super(n); + // d'autres choses peut-être. + } + + + /** + * La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi. + * + * @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle. + * + */ + public int bestPartyWithoutMe(){ + // to do + } + + /** + * La meilleure fête est soit sans moi (c'est l'union des meilleures fêtes de mes subalternes). + * soit c'est la meilleure fête avec moi. + * + * @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle). + * + */ + public int bestParty(){ + // to do + } + +} + + diff --git a/DEV3.4/TP5/stub/exo4/Exemple.java b/DEV3.4/TP5/stub/exo4/Exemple.java new file mode 100644 index 0000000..9a23013 --- /dev/null +++ b/DEV3.4/TP5/stub/exo4/Exemple.java @@ -0,0 +1,36 @@ +public class Exemple { + public static void main(String[] args) { + // bar 2 + // foo 5 + // titi 4 + // tata 4 + // toto 6 + // tete 6 + + Travailleur titi = new Travailleur(4); + Travailleur tata = new Travailleur(4); + Travailleur toto = new Travailleur(6); + + Chef foo = new Chef(5); + foo.addSubalterne(titi); + foo.addSubalterne(tata); + foo.addSubalterne(toto); + System.out.println(foo.bestParty()); + System.out.println(foo.bestPartyWithoutMe()); + + Travailleur tete = new Travailleur(6); + // System.out.println(tete.bestParty()); + // System.out.println(tete.bestPartyWithoutMe()); + + Chef bar = new Chef(2); + bar.addSubalterne(foo); + bar.addSubalterne(tete); + System.out.println(bar.bestParty()); + //System.out.println(bar.bestPartyWithoutMe()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo4/Exemple2.java b/DEV3.4/TP5/stub/exo4/Exemple2.java new file mode 100644 index 0000000..808a518 --- /dev/null +++ b/DEV3.4/TP5/stub/exo4/Exemple2.java @@ -0,0 +1,33 @@ +public class Exemple2 { + public static void main(String[] args) { + // Exemple inspiré question Thibault B. + // 1 + // 10 + // 1 + // 1 + // 10 + // 3 + // 4 + + Travailleur a = new Travailleur(3); + Travailleur b = new Travailleur(4); + Chef c = new Chef(10); + c.addSubalterne(a); + c.addSubalterne(b); + Chef d = new Chef(1); + d.addSubalterne(c); + Chef e = new Chef(1); + e.addSubalterne(d); + Chef f = new Chef(10); + f.addSubalterne(e); + Chef g = new Chef(1); + g.addSubalterne(f); + + System.out.println(g.bestParty()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo4/Exemple3.java b/DEV3.4/TP5/stub/exo4/Exemple3.java new file mode 100644 index 0000000..55651c9 --- /dev/null +++ b/DEV3.4/TP5/stub/exo4/Exemple3.java @@ -0,0 +1,43 @@ +public class Exemple3 { + public static void main(String[] args) { + + Travailleur a = new Travailleur(3); + Travailleur b = new Travailleur(4); + Chef c = new Chef(10); + c.addSubalterne(a); + c.addSubalterne(b); + Chef d = new Chef(1); + d.addSubalterne(c); + Chef e = new Chef(1); + e.addSubalterne(d); + Chef f = new Chef(10); + f.addSubalterne(e); + Chef g = new Chef(1); + g.addSubalterne(f); + + Travailleur titi = new Travailleur(4); + Travailleur tata = new Travailleur(4); + Travailleur toto = new Travailleur(6); + Chef foo = new Chef(5); + foo.addSubalterne(titi); + foo.addSubalterne(tata); + foo.addSubalterne(toto); + Chef bar = new Chef(2); + bar.addSubalterne(foo); + Travailleur tete = new Travailleur(6); + bar.addSubalterne(tete); + + Chef x = new Chef(2); + x.addSubalterne(g); + x.addSubalterne(bar); + Chef y = new Chef(39); + y.addSubalterne(x); + + System.out.println(y.bestParty()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo4/Person.java b/DEV3.4/TP5/stub/exo4/Person.java new file mode 100644 index 0000000..b4f1951 --- /dev/null +++ b/DEV3.4/TP5/stub/exo4/Person.java @@ -0,0 +1,44 @@ + +/** "Les personnes sont soit des chefs, soit des travailleurs" */ +public abstract class Person{ + /** + * valeur indiquant le niveau de coolitude de la personne + */ + private int funFactor; + + /** + * @return la valeur indiquant le niveau de coolitude de la personne. plus cete valeur est grande, plus la personne contribue à améliorer l'ambiance dans une fête. + * + */ + public int getFunFactor(){ + return this.funFactor; + } + + /** + * constructeur + * + * NB. Cette méthode ne peut pas être appelé directement pour instancier un objet car la classe est abstraite, mais sert dans les constructeurs de classes dérivées. + * + * @see Travailleur, Chef + */ + // + public Person(int n){ + if (n < 0) + throw new IllegalArgumentException("Le fun facteur est positif ou nul, vous avez proposé " + n); + this.funFactor = n; + } + + /** + * + * @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle. + */ + public abstract int bestPartyWithoutMe(); + + + /** + * + * @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle). + */ + public abstract int bestParty(); +} + diff --git a/DEV3.4/TP5/stub/exo4/Travailleur.java b/DEV3.4/TP5/stub/exo4/Travailleur.java new file mode 100644 index 0000000..7df408b --- /dev/null +++ b/DEV3.4/TP5/stub/exo4/Travailleur.java @@ -0,0 +1,31 @@ +/** feuille du motif composite */ +public class Travailleur extends Person { + + /** constructeur + * + * @param n fun factor + * + */ + public Travailleur(int n){ + super(n); + } + + /** + * + * @return fête sans le travailleur + */ + public int bestPartyWithoutMe(){ + // return null; + } + + /** + * @return fête avec le travailleur + */ + public int bestParty(){ + // return null; + } + + +} + + diff --git a/DEV3.4/TP5/stub/exo5/Chef.java b/DEV3.4/TP5/stub/exo5/Chef.java new file mode 100644 index 0000000..38ed1b9 --- /dev/null +++ b/DEV3.4/TP5/stub/exo5/Chef.java @@ -0,0 +1,48 @@ +import java.util.LinkedHashSet; +import java.util.Objects; + +/** feuille du motif composite */ +public class Chef extends Person { + + + public boolean addSubalterne(Person p){ + + } + + + + /** constructeur + * + * @param n fun factor + * + */ + public Chef(int n){ + super(n); + // d'autres choses peut-être. + } + + + /** + * La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi. + * + * @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle. + * + */ + public int bestPartyWithoutMe(){ + // to do + } + + /** + * La meilleure fête est soit sans moi (c'est l'union des meilleures fêtes de mes subalternes). + * soit c'est la meilleure fête avec moi. + * + * @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle). + * + */ + public int bestParty(){ + // to do + } + +} + + diff --git a/DEV3.4/TP5/stub/exo5/Exemple.java b/DEV3.4/TP5/stub/exo5/Exemple.java new file mode 100644 index 0000000..9a23013 --- /dev/null +++ b/DEV3.4/TP5/stub/exo5/Exemple.java @@ -0,0 +1,36 @@ +public class Exemple { + public static void main(String[] args) { + // bar 2 + // foo 5 + // titi 4 + // tata 4 + // toto 6 + // tete 6 + + Travailleur titi = new Travailleur(4); + Travailleur tata = new Travailleur(4); + Travailleur toto = new Travailleur(6); + + Chef foo = new Chef(5); + foo.addSubalterne(titi); + foo.addSubalterne(tata); + foo.addSubalterne(toto); + System.out.println(foo.bestParty()); + System.out.println(foo.bestPartyWithoutMe()); + + Travailleur tete = new Travailleur(6); + // System.out.println(tete.bestParty()); + // System.out.println(tete.bestPartyWithoutMe()); + + Chef bar = new Chef(2); + bar.addSubalterne(foo); + bar.addSubalterne(tete); + System.out.println(bar.bestParty()); + //System.out.println(bar.bestPartyWithoutMe()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo5/Exemple2.java b/DEV3.4/TP5/stub/exo5/Exemple2.java new file mode 100644 index 0000000..808a518 --- /dev/null +++ b/DEV3.4/TP5/stub/exo5/Exemple2.java @@ -0,0 +1,33 @@ +public class Exemple2 { + public static void main(String[] args) { + // Exemple inspiré question Thibault B. + // 1 + // 10 + // 1 + // 1 + // 10 + // 3 + // 4 + + Travailleur a = new Travailleur(3); + Travailleur b = new Travailleur(4); + Chef c = new Chef(10); + c.addSubalterne(a); + c.addSubalterne(b); + Chef d = new Chef(1); + d.addSubalterne(c); + Chef e = new Chef(1); + e.addSubalterne(d); + Chef f = new Chef(10); + f.addSubalterne(e); + Chef g = new Chef(1); + g.addSubalterne(f); + + System.out.println(g.bestParty()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo5/Exemple3.java b/DEV3.4/TP5/stub/exo5/Exemple3.java new file mode 100644 index 0000000..55651c9 --- /dev/null +++ b/DEV3.4/TP5/stub/exo5/Exemple3.java @@ -0,0 +1,43 @@ +public class Exemple3 { + public static void main(String[] args) { + + Travailleur a = new Travailleur(3); + Travailleur b = new Travailleur(4); + Chef c = new Chef(10); + c.addSubalterne(a); + c.addSubalterne(b); + Chef d = new Chef(1); + d.addSubalterne(c); + Chef e = new Chef(1); + e.addSubalterne(d); + Chef f = new Chef(10); + f.addSubalterne(e); + Chef g = new Chef(1); + g.addSubalterne(f); + + Travailleur titi = new Travailleur(4); + Travailleur tata = new Travailleur(4); + Travailleur toto = new Travailleur(6); + Chef foo = new Chef(5); + foo.addSubalterne(titi); + foo.addSubalterne(tata); + foo.addSubalterne(toto); + Chef bar = new Chef(2); + bar.addSubalterne(foo); + Travailleur tete = new Travailleur(6); + bar.addSubalterne(tete); + + Chef x = new Chef(2); + x.addSubalterne(g); + x.addSubalterne(bar); + Chef y = new Chef(39); + y.addSubalterne(x); + + System.out.println(y.bestParty()); + } + +} + + + + diff --git a/DEV3.4/TP5/stub/exo5/Person.java b/DEV3.4/TP5/stub/exo5/Person.java new file mode 100644 index 0000000..b4f1951 --- /dev/null +++ b/DEV3.4/TP5/stub/exo5/Person.java @@ -0,0 +1,44 @@ + +/** "Les personnes sont soit des chefs, soit des travailleurs" */ +public abstract class Person{ + /** + * valeur indiquant le niveau de coolitude de la personne + */ + private int funFactor; + + /** + * @return la valeur indiquant le niveau de coolitude de la personne. plus cete valeur est grande, plus la personne contribue à améliorer l'ambiance dans une fête. + * + */ + public int getFunFactor(){ + return this.funFactor; + } + + /** + * constructeur + * + * NB. Cette méthode ne peut pas être appelé directement pour instancier un objet car la classe est abstraite, mais sert dans les constructeurs de classes dérivées. + * + * @see Travailleur, Chef + */ + // + public Person(int n){ + if (n < 0) + throw new IllegalArgumentException("Le fun facteur est positif ou nul, vous avez proposé " + n); + this.funFactor = n; + } + + /** + * + * @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle. + */ + public abstract int bestPartyWithoutMe(); + + + /** + * + * @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle). + */ + public abstract int bestParty(); +} + diff --git a/DEV3.4/TP5/stub/exo5/Travailleur.java b/DEV3.4/TP5/stub/exo5/Travailleur.java new file mode 100644 index 0000000..7df408b --- /dev/null +++ b/DEV3.4/TP5/stub/exo5/Travailleur.java @@ -0,0 +1,31 @@ +/** feuille du motif composite */ +public class Travailleur extends Person { + + /** constructeur + * + * @param n fun factor + * + */ + public Travailleur(int n){ + super(n); + } + + /** + * + * @return fête sans le travailleur + */ + public int bestPartyWithoutMe(){ + // return null; + } + + /** + * @return fête avec le travailleur + */ + public int bestParty(){ + // return null; + } + + +} + + diff --git a/DEV3.4/TP5/stubTPBamboche.tar.gz b/DEV3.4/TP5/stubTPBamboche.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4a5fecbd983e04a87ec6183ab3b2fc22c1b3052f GIT binary patch literal 2042 zcmZuydone(!Uh^FHS}&+~r0Ue9x$=e?H*2K_$5iymX)V`#`) zL(9eNeA?qGEzR=F&?n;1C+4G~m#>-0;oP#df?d*2KeI!H-^9;XZSCRL_3GFJ$LF%> z_k)9^Zdy-z8NX<_t*@kvq{WRQ;@u=cSz%RucYLLL`Xu32A)%SoZ9y~CwMkliD!en% z`-Q>9eZffDo1BCmimCTep43x>Gnj#I6n`XUDl!W6YV#0ENkI2>b|yb!+i{@PtM=TI zu;&1#H8pCvv!2OCK+kt10gG+BOMtdl?xzT_4a9}V?bbUP8(xQ+$1(4c5#$ZnE~1@= zuF1Xi3zWSDT3sm00OB}IUp{&~u#@;kFAt0U3=swEC>~q5dWJnXs}qSkDB?Uztj+Wz zz-hx~oj_nbU_tnDP1SJWdWuXyHEYET#0yg}-66DRmhI zs^9m^E!SPF<8r?3eKz0B&#Wkwf>W+fK1c#x{PG8pzAEC*%Lc8tms&1?X z_2dY%&!N54ZMxU-&Gwdkw_>I2E42gEGKR3Vu13Q$!}>bL*n8P8CieQqI+F5|-<*bs zUS%ytCyfG{_FGx#6{eAng3lp*fM*A+7SIz3=_&rlp_kZ6#*=j6_f2N1QFYG}>bG5HZGdS#_JUaW}a$54nu?F8~1se&Y?S+I$k-lu~b5 zhVQaW0G|M@Qu}~DEVaw9o4O_Yz z$o7DTH9um_R%#u)dGCo-4n5r5>t@^hdQOrDauPn0>NEo{z&rAmD&nip@H$@mYl&A{ zDyS5NnURa7in;B1=C3SRrMXwY6p?3Zy2efW4BDm4U>9Wci9K7{Si2;NWaQE8`)0VP zc+amwV_@g}Po6O*siaZ5-@Kugs|5FBeMV3>fCwFlVl=RMfuKSFz9yK;jC3xdPJ;$G zsBWZ}C=2DFyPwF!TDNzb%#!Sn2g0#Me?568@sAq}EdzGBb)WgVCj}4ACYT6r&4}&+fwYhI^CvY=A zCA#izscc+cu{94E5jI@1AgNd*=DgM*2&^wPfl6B9v6y2<4@?(GO zB-Cc7Qx*0cBY#)EEA*JA2VIkX7nc^cpf{G@W544e?S1&b7&v7pZNhWF`*J|n-$OJL z*$Dmp5#Mn4H&X}Jw@(k2jSeX>FVrzMa!~nGz#M^zz)S%new^>x2t*E9WJXftHkT#u*<#;ZHH2EM0mpr}=u#LH-WciEsweIDNhy zS-{vGzjeD| z>&Kg<@n!Kqu*d@d`Cl#50=@1PKuit?0ByF43lQQSemmOQSI*ZD6#c~`-gJbGcV8`a zEEi<`k8Z`nFW@u)aQ~y=cVQw!R!ePo-EABvfs-OWh&Ri$r8h=KP*FViHiEe-1T6A@ Rt{cA8R^N*n7N9Z^=s(ofBJ2PF literal 0 HcmV?d00001 diff --git a/DEV3.4/TP6/Donjon.class b/DEV3.4/TP6/Donjon.class new file mode 100644 index 0000000000000000000000000000000000000000..e726729064688a250dca32bdc006dab402b587a0 GIT binary patch literal 251 zcmY+8y$%6U5QWd!Ki2OHkmyiQDu{-t1PRgKT{m(!>t0#Qd#NM}58$E1Tq;wXGxN<% zW?t{d6TlFS5DuyVY60p5f2_31Cj_U{-4WcW*-Juwp|o6Hj*-l^B1)Nf;*`lVq19Qe zm5k+botjvrqwarc2d_fsgm7anSuE$uZkK09Cr0-ZZdTyJv6#g!4VU!LwCbBu0Lx(G!gGXanmMj_*5}ah18Q(1J4Jp=^lw#E1;*0-4 z6NiZpX3zd8L_{{Zj+9Th5WtB|mpLnDto?g(>NWcGw< z=5Q~E{Ty_LlH=L@-N4}%AMjx2Gq4^**7m)L?=e*R6Z5UvnTL+sISB&ueczddU55P7 z8GB|p4>&_Jt>&m7VV(|L-!k3qG4*7R9M1`l8MgGaj&84Y&LBVXZNe<|9gm;R-;8+h z+#I=-X{9#(Llc20<}~0lh8=xbMQb@^SRIC@_4=tfO-K|P)(aU5Q?ZK^3M`_QbfGNH zopEa})6)Ng2AwnvO^84C~7D`({Osu4aPBpV!6IY#5eR-yh_*f#+_%Q3Ae=S$TR0dtef6a8grVcqW4lt(V!ngrN1Ua zA8Cm^5(avK$X|m({yNHZzd@OYbV_tqjBjAZ!2+2}NEeWe+69y^bU~WPmLZc}A)6;4 zm2!myutF6#Q6($j&Iv3-=b`Zxiu{VKyg>F7O2U&C$X#OPv+(2lBtZ?Ch^826DPoPl zYec$9HxgKl(6|0@yhu3O5r+K{)dWyb$@X=UtHd>uDowJ9I<~J!>O^vj!g!E donjon; + + public DonjonNPlocal (ArrayList pieceDonjon, int positionDepart){ + this.donjon = (ArrayList) pieceDonjon.clone(); + this.indexPiecePerso = positionDepart; + } + + public PieceNPlocal apres (PieceNPlocal p){ + if (indexPiecePerso+1>=donjon.size()){ + return this.donjon.get(0); + } + else{ + return this.donjon.get(indexPiecePerso+1); + } + } + + public PieceNPlocal avant (PieceNPlocal p){ + if (indexPiecePerso-1<0){ + return this.donjon.get(this.donjon.size()-1); + } + else{ + return this.donjon.get(indexPiecePerso-1); + } + } + + public void persoAvance(){ + this.indexPiecePerso++; + } + + public void persoRecule(){ + this.indexPiecePerso--; + } + +} \ No newline at end of file diff --git a/DEV3.4/TP6/Main.class b/DEV3.4/TP6/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..8e34f5e618eeae980f4f151da43f79e0292a161d GIT binary patch literal 708 zcmZ8eO-mb56g@99$z&!|6F>6h_qP)*4Y+9`rC17uLW}`Ljfyy#JoL#pQ^pyo;KD^0 zU3Ae!`$M`h(11U{A0@pnu_Sij-TThH=UvXZ^YHlR9>8mq47@;2L*76P1r0?5Dhd*e zYnU*gVN!-E8Kz~J(J-rFjv?_@cp`kqpjf3{2K9sA;tc7k@OUk{X!2mkZn{)aFKpp4 z)bi4_?vIZc)088Uq#Tg`Lsgw(M< zNimAuYB6N30jWJkrF6hhe5yZ}Q|Z1;T}6Dy@A;zTkOR*lLy3Spk;^d$lNK$%7?`w1 zF+*sIGNT+{ZG-)$3&SwQM7O9w#|TF0PE;1BKci6ZR|m01vJIuW)`8l{1JRFDXf$G z4f0 pieceDonjon = new ArrayList(5); + + pieceDonjon.add(new PieceNPlocal(23)); + pieceDonjon.add(new PieceNPlocal(42)); + pieceDonjon.add(new PieceNPlocal(1)); + pieceDonjon.add(new PieceNPlocal(18)); + pieceDonjon.add(new PieceNPlocal(56)); + + VuePerso joueur = new VuePerso(pieceDonjon, 2); + + joueur.vueToString(); + joueur.avance(); + joueur.vueToString(); + joueur.avance(); + joueur.vueToString(); + joueur.recule(); + joueur.vueToString(); + joueur.avance(); + joueur.avance(); + joueur.vueToString(); + joueur.recule(); + joueur.recule(); + joueur.recule(); + joueur.recule(); + joueur.vueToString(); + } +} \ No newline at end of file diff --git a/DEV3.4/TP6/Piece.class b/DEV3.4/TP6/Piece.class new file mode 100644 index 0000000000000000000000000000000000000000..104649e42ef5cd13060f3077a292f6cf30c878d8 GIT binary patch literal 233 zcmXwzy$Zrm424f>f3#LxAHcy)9dvXNmx3UO3W|GMgWOVYL0aF-NpSE1d?+zqkibdu zC5PnwdAmf-C zA^w@G_-~Y5vHJV6zGl2sX1-IL@gz@fNdOlf!7+po{n)ff^m)2XbIvMz081VMf il_j;9M4Qs}C6i=l`~cm}VoTIDkZie(wxNNjh0YiBmncdA literal 0 HcmV?d00001 diff --git a/DEV3.4/TP6/Piece.java b/DEV3.4/TP6/Piece.java new file mode 100644 index 0000000..0d9acc0 --- /dev/null +++ b/DEV3.4/TP6/Piece.java @@ -0,0 +1,7 @@ +public abstract class Piece{ + + protected int contenu; + + abstract public int getContenu(); + +} \ No newline at end of file diff --git a/DEV3.4/TP6/PieceNPlocal.class b/DEV3.4/TP6/PieceNPlocal.class new file mode 100644 index 0000000000000000000000000000000000000000..5a74fc1d17f1d4f202804799481c939a0c905306 GIT binary patch literal 293 zcmYk0L2JT56olukiP1D_wcd&cZzcz?UZfX62$UeS^d9396WVPy`SC0sbg) z3|e}5!@SvV_MOhhUjP&IU07%}QA687$HAkZJ~f#sUIf-C^gk%Ge5D1QSCi?e{95YG zd%R4!aX)o2%d0X`aOCcpZPo9&B_y^zbC`{-*-F zvQ-cNbdr0ogc$NVi`N1Qe26-yLl@91sv8_2!Sfz!ODAY>w#lI4EHudor+ecDRAFid RJE)&OZBr9h6n<`iY_eHIrAW0j2E{fBO8RbVs4d2#u@O^4vDWs(vfP1%Wp8F*nBkxF zZ?q$E#?Ey5xj)M3b9aMml=j2!J?Gqe&hwm?d;fX$@-F~4@vDhxd|=>16FF3iIFFi% zIu;FF*UAlTUeZ!SOCM?J<03x6rzZ0F>^x(9Y2qu~(z{LlTQ=~uf!hLwzAGK+IbGLmviUZ2EQv)oIa=o1f zEFHvhUG<{C^|uAasv0D(`8y1h52O?8=w?sFfg@L4txRsjvMYm7Eoqt-E@7U=k#w~2 zJqz#RqJeKLe2WzpAX_R6?_kEl9keXWYU!?)E?~yMcNSK0&%%AQ1ov_memaC%$tc|MrVA}Q!ZtpOR^>wdTh9i+`kCVAD@T2a-Q-Ot(QoH_v+LMhmKuU0x%vEq` z;2B4%qtss9=Qy-|Uj{AD4nuuCe#@c{W27y=Z~I%G3>Q+z=G!DQmJ!GG!@fM___NIU zbS|3Nz7IpRY|rbtk!%|HMc~?7`JKj1p#1;mFwa+Jnor9(-xFQ{N;y6B$;xYxth_YI z38C*0_vfhXU;<-Ym+LPe>VG2lbaCzl#*Q#vUz{6Y;&0@SVASi+X?PA}fWi@q8Pz;O z>38}IywCq7zHop^7A2g6McX8<;|!XZLYX@`T;|CN*@^_cL5rY$`VUxX_{o<%jsd1l zg6by{Oiw2$aOJi028nCuB~8a5j|?rcG&JV{&K_HfDfg4O7nnL&qypcGS-vP`mgfcw zBXIRUG2Tdhh;i;1qcp&1K~jt|F)kCMLX3H0Tp{xXV&`xTKXEmQxq+YYgbY5XUZDO3 HznlL83rd8H literal 0 HcmV?d00001 diff --git a/DEV3.4/TP6/VuePerso.java b/DEV3.4/TP6/VuePerso.java new file mode 100644 index 0000000..5c20ed8 --- /dev/null +++ b/DEV3.4/TP6/VuePerso.java @@ -0,0 +1,36 @@ +import java.util.*; + +public class VuePerso{ + + private PieceNPlocal pieceici; + private PieceNPlocal pieceavant; + private PieceNPlocal pieceapres; + private DonjonNPlocal donjonJoueur; + + public VuePerso(ArrayList pieceDonjon, int positionDepart){ + this.donjonJoueur = new DonjonNPlocal(pieceDonjon, positionDepart); + this.pieceici = pieceDonjon.get(positionDepart); + this.pieceapres = this.donjonJoueur.apres(pieceici); + this.pieceavant = this.donjonJoueur.avant(pieceici); + } + + public void vueToString(){ + System.out.println("Contenu piece actuelle: "+this.pieceici.getContenu()); + } + + public void avance(){ + this.pieceavant = this.pieceici; + this.pieceici = donjonJoueur.apres(pieceici); + this.donjonJoueur.persoAvance(); + this.pieceapres = donjonJoueur.apres(pieceapres); + + } + + public void recule(){ + this.pieceapres = this.pieceici; + this.pieceici = donjonJoueur.avant(pieceici); + this.donjonJoueur.persoRecule(); + this.pieceavant = donjonJoueur.avant(pieceavant); + } + +} \ No newline at end of file diff --git a/DEV3.4/TPnote/Model/Billet.java b/DEV3.4/TPnote/Model/Billet.java new file mode 100644 index 0000000..95dfc4b --- /dev/null +++ b/DEV3.4/TPnote/Model/Billet.java @@ -0,0 +1,21 @@ + +import java.util.*; + +/** + * + */ +public class Billet { + + /** + * Les valeurs que peut prendre le billet + */ + Denomination valeur; + + /** + * Constructeur + */ + public Billet(Denomination v){ + this.valeur = v; + } + +} \ No newline at end of file diff --git a/DEV3.4/TPnote/Model/Denomination.java b/DEV3.4/TPnote/Model/Denomination.java new file mode 100644 index 0000000..46add52 --- /dev/null +++ b/DEV3.4/TPnote/Model/Denomination.java @@ -0,0 +1,9 @@ + +/** + * + */ +public enum Denomination { + UN, + CINQ, + DIX +} \ No newline at end of file diff --git a/DEV3.4/TPnote/Model/Individu.java b/DEV3.4/TPnote/Model/Individu.java new file mode 100644 index 0000000..8039f57 --- /dev/null +++ b/DEV3.4/TPnote/Model/Individu.java @@ -0,0 +1,92 @@ + +import java.util.*; + +/** + * + */ +public class Individu { + + /** + * argent que l'individu possède + */ + private ArrayList monnaie; + + /** + * nom de l'individu + */ + private String nom; + + /** + * Constructeur + */ + public Individu() { + this.monnaie = new ArrayList(); + } + + /** + * Constructeur en prenant en comptye que l'individu possède déjà de l'argent + */ + public Individu(ArrayList argentPosséder) { + this.monnaie = argentPosséder.clone(); + } + + /** + * Billet b: le billet a ajouté + * Ajoute le billet à l'argent de l'individu + */ + public void add(Billet b){ + monnaie.add(b); + } + + /** + * Billet b: le billet a vérifier + * Vérifie si l'individu possède ce billet + * return: true/false + */ + public Boolean possède(Billet b){ + if(this.monnaie.contains(b)){ + return true; + }else{ + return false; + } + } + + /** + * Billet b: le billet a retirer + * Retire le billet si l'individu possède ce billet + * return: true/false + */ + public Boolean delete(Billet b){ + if(this.possède(b)){ + monnaie.remove(b); + return true; + }else{ + System.out.println("L'utilisateur ne possède pas ce type de billet") + return false; + } + } + + /** + * + */ + public void mv(Individu payer, Denomination d){ + //a coder + } + + /** + * + */ + public void payer (Individu payer, ArrayList argentDonné){ + Iterator iterateurArgent = argentDonné.iterator(); + Boolean aDeQuoiPayer; + while(iterateurArgent.hasNext()){ + Billet argent = iterateurArgent.next(); + aDeQuoiPayer = this.monnaie.delete(argent); + if(aDeQuoiPayer){ + payer.monnaie.add(argent); + } + } + + } + +} \ No newline at end of file diff --git a/DEV3.4/TPnote/Model/Main.java b/DEV3.4/TPnote/Model/Main.java new file mode 100644 index 0000000..78f720f --- /dev/null +++ b/DEV3.4/TPnote/Model/Main.java @@ -0,0 +1,7 @@ +public class Main{ + + public static void main(String[] args) { + + + } +} \ No newline at end of file diff --git a/DEV3.4/TPnote/TPnote.mdj b/DEV3.4/TPnote/TPnote.mdj new file mode 100644 index 0000000..a9e9e8e --- /dev/null +++ b/DEV3.4/TPnote/TPnote.mdj @@ -0,0 +1,1380 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAGMPzPgHBwT5U4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMPzPgHBwUL4U=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "model": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMPzPgHRwVMl8=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwUL4U=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzPgHRwWhnI=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwUL4U=" + }, + "font": "Arial;13;1", + "left": 501, + "top": 255, + "width": 41.919921875, + "height": 13, + "text": "Billet" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzPgHRwXnhY=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwUL4U=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzPgHRwYaI8=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwUL4U=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 496, + "top": 248, + "width": 51.919921875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMPzPgHRwVMl8=" + }, + "nameLabel": { + "$ref": "AAAAAAGMPzPgHRwWhnI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMPzPgHRwXnhY=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMPzPgHRwYaI8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMPzPgHhwZ+sg=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "model": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "font": "Arial;13;0", + "left": 496, + "top": 273, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMPzPgHhwal4g=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "model": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "font": "Arial;13;0", + "left": 496, + "top": 283, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMPzPgHhwbGKg=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "model": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMPzPgHxwc+AU=", + "_parent": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "model": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 496, + "top": 248, + "width": 51.919921875, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGMPzPgHBwUL4U=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMPzPgHhwZ+sg=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMPzPgHhwal4g=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMPzPgHhwbGKg=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMPzPgHxwc+AU=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGMPzQ2hhyHhMo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMPzQ2hhyIUFw=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyHhMo=" + }, + "model": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMPzQ2hhyJNyc=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyIUFw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -160, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzQ2hxyKQZQ=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyIUFw=" + }, + "font": "Arial;13;1", + "left": 661, + "top": 279, + "width": 70.8017578125, + "height": 13, + "text": "Individu" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzQ2hxyL7v8=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyIUFw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -160, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzQ2hxyMaAY=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyIUFw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -160, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 656, + "top": 272, + "width": 80.8017578125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMPzQ2hhyJNyc=" + }, + "nameLabel": { + "$ref": "AAAAAAGMPzQ2hxyKQZQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMPzQ2hxyL7v8=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMPzQ2hxyMaAY=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMPzQ2hxyNM0s=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyHhMo=" + }, + "model": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGMPzRKxByyCP0=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hxyNM0s=" + }, + "model": { + "$ref": "AAAAAAGMPzRKtRyvLeg=" + }, + "font": "Arial;13;0", + "left": 661, + "top": 302, + "width": 70.8017578125, + "height": 13, + "text": "-nom: String", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 656, + "top": 297, + "width": 80.8017578125, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMPzQ2hxyO5DI=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyHhMo=" + }, + "model": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "font": "Arial;13;0", + "left": 656, + "top": 320, + "width": 80.8017578125, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMPzQ2hxyPYnI=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyHhMo=" + }, + "model": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -80, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMPzQ2hxyQ4sM=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hhyHhMo=" + }, + "model": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -80, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 656, + "top": 272, + "width": 80.8017578125, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAGMPzQ2hhyIUFw=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMPzQ2hxyNM0s=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMPzQ2hxyO5DI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMPzQ2hxyPYnI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMPzQ2hxyQ4sM=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGMPzSHKhy7kbs=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy3gdQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKhy8OPY=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy3gdQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 603, + "top": 263, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxy94iA=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy3gdQ=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 605, + "top": 248, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxy+zsE=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy3gdQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 598, + "top": 292, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxy/PS0=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy4NIA=" + }, + "font": "Arial;13;0", + "left": 550, + "top": 258, + "width": 53.47900390625, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "edgePosition": 2, + "text": "-possède" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxzA+N4=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy4NIA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 580, + "top": 245, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxzBI/c=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy4NIA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 567, + "top": 284, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxzCaQs=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy5d1o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 631, + "top": 267, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxzDcVo=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy5d1o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 631, + "top": 254, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzSHKxzEdkU=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy5d1o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 631, + "top": 295, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMPzSHLBzFMEc=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy4NIA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMPzSHLBzGftw=", + "_parent": { + "$ref": "AAAAAAGMPzSHKhy7kbs=" + }, + "model": { + "$ref": "AAAAAAGMPzSHKBy5d1o=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGMPzQ2hhyHhMo=" + }, + "tail": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "lineStyle": 1, + "points": "548:275;655:293", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGMPzSHKhy8OPY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGMPzSHKxy94iA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMPzSHKxy+zsE=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGMPzSHKxy/PS0=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGMPzSHKxzA+N4=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGMPzSHKxzBI/c=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGMPzSHKxzCaQs=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGMPzSHKxzDcVo=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGMPzSHKxzEdkU=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGMPzSHLBzFMEc=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGMPzSHLBzGftw=" + } + }, + { + "_type": "UMLEnumerationView", + "_id": "AAAAAAGMPzV2Hx8MXsQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMPzV2Hx8NLc0=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMPzV2IB8OvXc=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8NLc0=" + }, + "font": "Arial;13;0", + "left": 341, + "top": 373, + "width": 86.72802734375, + "height": 13, + "text": "«enumeration»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzV2IB8PYLM=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8NLc0=" + }, + "font": "Arial;13;1", + "left": 341, + "top": 388, + "width": 86.72802734375, + "height": 13, + "text": "Denomination" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzV2IB8QJh0=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8NLc0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -272, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMPzV2IB8RTao=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8NLc0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -272, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 336, + "top": 368, + "width": 96.72802734375, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGMPzV2IB8OvXc=" + }, + "nameLabel": { + "$ref": "AAAAAAGMPzV2IB8PYLM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMPzV2IB8QJh0=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMPzV2IB8RTao=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMPzV2IB8SQ4o=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -136, + "width": 10, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMPzV2IB8TaY0=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -136, + "width": 10, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMPzV2IB8UKbU=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -136, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMPzV2IB8VbVg=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -136, + "width": 10, + "height": 10 + }, + { + "_type": "UMLEnumerationLiteralCompartmentView", + "_id": "AAAAAAGMPzV2IB8WVIw=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "model": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "subViews": [ + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAGMPzWUdR9f+8w=", + "_parent": { + "$ref": "AAAAAAGMPzV2IB8WVIw=" + }, + "model": { + "$ref": "AAAAAAGMPzWUZB9ZStQ=" + }, + "font": "Arial;13;0", + "left": 341, + "top": 411, + "width": 86.72802734375, + "height": 13, + "text": "UN", + "horizontalAlignment": 0 + }, + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAGMPzWo+R+v/k0=", + "_parent": { + "$ref": "AAAAAAGMPzV2IB8WVIw=" + }, + "model": { + "$ref": "AAAAAAGMPzWo8x+pWkM=" + }, + "font": "Arial;13;0", + "left": 341, + "top": 426, + "width": 86.72802734375, + "height": 13, + "text": "CINQ", + "horizontalAlignment": 0 + }, + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAGMPzYBTiC/7yM=", + "_parent": { + "$ref": "AAAAAAGMPzV2IB8WVIw=" + }, + "model": { + "$ref": "AAAAAAGMPzYBQyC5Izk=" + }, + "font": "Arial;13;0", + "left": 341, + "top": 441, + "width": 86.72802734375, + "height": 13, + "text": "DIX", + "horizontalAlignment": 0 + }, + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAGMPzblmSER/fw=", + "_parent": { + "$ref": "AAAAAAGMPzV2IB8WVIw=" + }, + "model": { + "$ref": "AAAAAAGMPzbllCELYNg=" + }, + "font": "Arial;13;0", + "left": 341, + "top": 456, + "width": 86.72802734375, + "height": 13, + "text": "VINGT", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 336, + "top": 406, + "width": 96.72802734375, + "height": 68 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 336, + "top": 368, + "width": 96.72802734375, + "height": 106, + "nameCompartment": { + "$ref": "AAAAAAGMPzV2Hx8NLc0=" + }, + "suppressAttributes": true, + "suppressOperations": true, + "attributeCompartment": { + "$ref": "AAAAAAGMPzV2IB8SQ4o=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMPzV2IB8TaY0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMPzV2IB8UKbU=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMPzV2IB8VbVg=" + }, + "enumerationLiteralCompartment": { + "$ref": "AAAAAAGMPzV2IB8WVIw=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGMPzdgGiI9EDc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGCI5RjI=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGiI+8BU=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGCI5RjI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 477, + "top": 334, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGiI/iB8=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGCI5RjI=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 488, + "top": 344, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGiJAS7U=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGCI5RjI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 454, + "top": 313, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGiJB5Y8=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI6+uA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 493, + "top": 316, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGiJCWaM=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI6+uA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 501, + "top": 326, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGyJD2CQ=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI6+uA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 476, + "top": 294, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGyJE0og=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI7QtQ=" + }, + "font": "Arial;13;0", + "left": 392, + "top": 327, + "width": 39.736328125, + "height": 13, + "alpha": -4.973286470790616, + "distance": 39.11521443121589, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "text": "-valeur" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGyJFV/E=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI7QtQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 471, + "top": 359, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMPzdgGyJGKTw=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI7QtQ=" + }, + "font": "Arial;13;0", + "left": 424, + "top": 343, + "width": 7.22998046875, + "height": 13, + "alpha": -5.25396457231186, + "distance": 17.72004514666935, + "hostEdge": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "text": "1" + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMPzdgGyJHPV8=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI6+uA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMPzdgGyJIuQk=", + "_parent": { + "$ref": "AAAAAAGMPzdgGiI9EDc=" + }, + "model": { + "$ref": "AAAAAAGMPzdgGSI7QtQ=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGMPzV2Hx8MXsQ=" + }, + "tail": { + "$ref": "AAAAAAGMPzPgHBwT5U4=" + }, + "lineStyle": 1, + "points": "500:293;432:367", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGMPzdgGiI+8BU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGMPzdgGiI/iB8=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMPzdgGiJAS7U=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGMPzdgGiJB5Y8=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGMPzdgGiJCWaM=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGMPzdgGyJD2CQ=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGMPzdgGyJE0og=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGMPzdgGyJFV/E=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGMPzdgGyJGKTw=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGMPzdgGyJHPV8=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGMPzdgGyJIuQk=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMPzPgGBwRz4Q=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Billet", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGMPzSHKBy3gdQ=", + "_parent": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMPzSHKBy4NIA=", + "_parent": { + "$ref": "AAAAAAGMPzSHKBy3gdQ=" + }, + "name": "possède", + "reference": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "visibility": "private" + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMPzSHKBy5d1o=", + "_parent": { + "$ref": "AAAAAAGMPzSHKBy3gdQ=" + }, + "reference": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "aggregation": "composite" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGMPzdgGCI5RjI=", + "_parent": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMPzdgGSI6+uA=", + "_parent": { + "$ref": "AAAAAAGMPzdgGCI5RjI=" + }, + "reference": { + "$ref": "AAAAAAGMPzPgGBwRz4Q=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMPzdgGSI7QtQ=", + "_parent": { + "$ref": "AAAAAAGMPzdgGCI5RjI=" + }, + "name": "valeur", + "reference": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "visibility": "private", + "navigable": "navigable", + "multiplicity": "1" + } + } + ] + }, + { + "_type": "UMLInterface", + "_id": "AAAAAAGMPzQLlhw7IQE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Individu", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGMPzQkFhxmmWo=", + "_parent": { + "$ref": "AAAAAAGMPzQLlhw7IQE=" + }, + "name": "Attribute1", + "type": "" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMPzQ2hRyFpnM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Individu", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGMPzRKtRyvLeg=", + "_parent": { + "$ref": "AAAAAAGMPzQ2hRyFpnM=" + }, + "name": "nom", + "visibility": "private", + "type": "String" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMPzTBxx3aiZ4=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Denomination", + "stereotype": "enumeration", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGMPzUVdR4lEls=", + "_parent": { + "$ref": "AAAAAAGMPzTBxx3aiZ4=" + }, + "name": "UN" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGMPzUkKx5Ng8U=", + "_parent": { + "$ref": "AAAAAAGMPzTBxx3aiZ4=" + }, + "name": "DE" + } + ] + }, + { + "_type": "UMLEnumeration", + "_id": "AAAAAAGMPzV2Hh8KVjw=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Denomination", + "literals": [ + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAGMPzWUZB9ZStQ=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "name": "UN" + }, + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAGMPzWo8x+pWkM=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "name": "CINQ" + }, + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAGMPzYBQyC5Izk=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "name": "DIX" + }, + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAGMPzbllCELYNg=", + "_parent": { + "$ref": "AAAAAAGMPzV2Hh8KVjw=" + }, + "name": "VINGT" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/DEV3.4/ex2.mdj b/DEV3.4/ex2.mdj new file mode 100644 index 0000000..3688dad --- /dev/null +++ b/DEV3.4/ex2.mdj @@ -0,0 +1,1654 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAGLr1gegA6nTj0=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGLr1gegA6ox7M=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "model": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGLr1gegQ6p6DY=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6ox7M=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 205, + "width": 105.853515625, + "height": 13, + "text": "«abstract»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr1gegQ6q/QE=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6ox7M=" + }, + "font": "Arial;13;1", + "left": 573, + "top": 220, + "width": 105.853515625, + "height": 13, + "text": "Joueur" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr1gegQ6rRUc=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6ox7M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -96, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr1gegg6sYHY=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6ox7M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -96, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 568, + "top": 200, + "width": 115.853515625, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGLr1gegQ6p6DY=" + }, + "nameLabel": { + "$ref": "AAAAAAGLr1gegQ6q/QE=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGLr1gegQ6rRUc=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr1gegg6sYHY=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGLr1gegg6tjtY=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "model": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGLr2JcthAqq74=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6tjtY=" + }, + "model": { + "$ref": "AAAAAAGLr2JcrhAn69Q=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 243, + "width": 105.853515625, + "height": 13, + "text": "-nom: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGLr2JgQxAwLeo=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6tjtY=" + }, + "model": { + "$ref": "AAAAAAGLr2JgPRAt+JE=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 258, + "width": 105.853515625, + "height": 13, + "text": "-nationalité: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGLr2JiqxA2MwI=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6tjtY=" + }, + "model": { + "$ref": "AAAAAAGLr2JipRAzqCk=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 273, + "width": 105.853515625, + "height": 13, + "text": "-club: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGLr1jTHQ7T0Lk=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6tjtY=" + }, + "model": { + "$ref": "AAAAAAGLr1jTEw7QzIw=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 288, + "width": 105.853515625, + "height": 13, + "text": "-numéro: int", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 568, + "top": 238, + "width": 115.853515625, + "height": 68 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGLr1gegg6unUY=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "model": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGLr29DfxbZXsY=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6unUY=" + }, + "model": { + "$ref": "AAAAAAGLr29DehbW3dM=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 311, + "width": 105.853515625, + "height": 13, + "text": "+getNom(): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGLr29HBhcwPNI=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6unUY=" + }, + "model": { + "$ref": "AAAAAAGLr29HARctWB8=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 326, + "width": 105.853515625, + "height": 13, + "text": "+getNatio(): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGLr29U1xgpYdY=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6unUY=" + }, + "model": { + "$ref": "AAAAAAGLr29U0RgmHfo=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 341, + "width": 105.853515625, + "height": 13, + "text": "+getClub(): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGLr1oRGg7aH3Y=", + "_parent": { + "$ref": "AAAAAAGLr1gegg6unUY=" + }, + "model": { + "$ref": "AAAAAAGLr1oRCg7XNME=" + }, + "font": "Arial;13;0", + "left": 573, + "top": 356, + "width": 105.853515625, + "height": 13, + "text": "+getNumero(): int", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 568, + "top": 306, + "width": 115.853515625, + "height": 68 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGLr1gegw6vjzA=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "model": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "top": -48, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGLr1gegw6wK6s=", + "_parent": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "model": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "top": -48, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 568, + "top": 200, + "width": 115.853515625, + "height": 174, + "nameCompartment": { + "$ref": "AAAAAAGLr1gegA6ox7M=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGLr1gegg6tjtY=" + }, + "operationCompartment": { + "$ref": "AAAAAAGLr1gegg6unUY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGLr1gegw6vjzA=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGLr1gegw6wK6s=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGLr2k3gxBdngI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGLr2k3gxBeoio=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBdngI=" + }, + "model": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGLr2k3gxBfkGw=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBeoio=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 160, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2k3hBBgBqU=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBeoio=" + }, + "font": "Arial;13;1", + "left": 477, + "top": 503, + "width": 41.919921875, + "height": 13, + "text": "Avant" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2k3hBBhEcA=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBeoio=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 160, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2k3hBBiS8E=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBeoio=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 160, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 472, + "top": 496, + "width": 51.919921875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGLr2k3gxBfkGw=" + }, + "nameLabel": { + "$ref": "AAAAAAGLr2k3hBBgBqU=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGLr2k3hBBhEcA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr2k3hBBiS8E=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGLr2k3hBBj9oU=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBdngI=" + }, + "model": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "font": "Arial;13;0", + "left": 472, + "top": 521, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGLr2k3hBBkze8=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBdngI=" + }, + "model": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "font": "Arial;13;0", + "left": 472, + "top": 531, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGLr2k3hBBlt9s=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBdngI=" + }, + "model": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 80, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGLr2k3hRBmjWM=", + "_parent": { + "$ref": "AAAAAAGLr2k3gxBdngI=" + }, + "model": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 80, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 472, + "top": 496, + "width": 51.919921875, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGLr2k3gxBeoio=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGLr2k3hBBj9oU=" + }, + "operationCompartment": { + "$ref": "AAAAAAGLr2k3hBBkze8=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGLr2k3hBBlt9s=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGLr2k3hRBmjWM=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGLr2lPMRCHAJs=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGLr2lPMRCIsaE=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCHAJs=" + }, + "model": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lPMRCJm6A=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCIsaE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lPMRCKklQ=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCIsaE=" + }, + "font": "Arial;13;1", + "left": 597, + "top": 503, + "width": 60.68994140625, + "height": 13, + "text": "Charnière" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lPMRCLXGE=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCIsaE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lPMRCML/8=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCIsaE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 592, + "top": 496, + "width": 70.68994140625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGLr2lPMRCJm6A=" + }, + "nameLabel": { + "$ref": "AAAAAAGLr2lPMRCKklQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGLr2lPMRCLXGE=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr2lPMRCML/8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGLr2lPMRCNmgs=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCHAJs=" + }, + "model": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "font": "Arial;13;0", + "left": 592, + "top": 521, + "width": 70.68994140625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGLr2lPMRCOO84=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCHAJs=" + }, + "model": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "font": "Arial;13;0", + "left": 592, + "top": 531, + "width": 70.68994140625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGLr2lPMRCPs8Y=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCHAJs=" + }, + "model": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGLr2lPMRCQnM0=", + "_parent": { + "$ref": "AAAAAAGLr2lPMRCHAJs=" + }, + "model": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 592, + "top": 496, + "width": 70.68994140625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGLr2lPMRCIsaE=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGLr2lPMRCNmgs=" + }, + "operationCompartment": { + "$ref": "AAAAAAGLr2lPMRCOO84=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGLr2lPMRCPs8Y=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGLr2lPMRCQnM0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGLr2lpeRCxNLk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGLr2lpeRCyEo4=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCxNLk=" + }, + "model": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lpeRCzDpM=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCyEo4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lpeRC0QL0=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCyEo4=" + }, + "font": "Arial;13;1", + "left": 733, + "top": 503, + "width": 42.63720703125, + "height": 13, + "text": "Arrière" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lpeRC1MKk=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCyEo4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGLr2lpeRC2ZG4=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCyEo4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 728, + "top": 496, + "width": 52.63720703125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGLr2lpeRCzDpM=" + }, + "nameLabel": { + "$ref": "AAAAAAGLr2lpeRC0QL0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGLr2lpeRC1MKk=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr2lpeRC2ZG4=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGLr2lpehC33nA=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCxNLk=" + }, + "model": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "font": "Arial;13;0", + "left": 728, + "top": 521, + "width": 52.63720703125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGLr2lpehC4pFc=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCxNLk=" + }, + "model": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "font": "Arial;13;0", + "left": 728, + "top": 531, + "width": 52.63720703125, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGLr2lpehC5eoc=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCxNLk=" + }, + "model": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGLr2lpehC64HE=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCxNLk=" + }, + "model": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 728, + "top": 496, + "width": 52.63720703125, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGLr2lpeRCyEo4=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGLr2lpehC33nA=" + }, + "operationCompartment": { + "$ref": "AAAAAAGLr2lpehC4pFc=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGLr2lpehC5eoc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGLr2lpehC64HE=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGLr31bYCN/tYI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr31bXyN9u5U=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31bYCOAhqQ=", + "_parent": { + "$ref": "AAAAAAGLr31bYCN/tYI=" + }, + "model": { + "$ref": "AAAAAAGLr31bXyN9u5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 529, + "top": 420, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGLr31bYCN/tYI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31bYCOBEAE=", + "_parent": { + "$ref": "AAAAAAGLr31bYCN/tYI=" + }, + "model": { + "$ref": "AAAAAAGLr31bXyN9u5U=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 516, + "top": 413, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGLr31bYCN/tYI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31bYCOC2Pk=", + "_parent": { + "$ref": "AAAAAAGLr31bYCN/tYI=" + }, + "model": { + "$ref": "AAAAAAGLr31bXyN9u5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 556, + "top": 435, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGLr31bYCN/tYI=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "tail": { + "$ref": "AAAAAAGLr2k3gxBdngI=" + }, + "lineStyle": 1, + "points": "510:495;576:374", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGLr31bYCOAhqQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGLr31bYCOBEAE=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr31bYCOC2Pk=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGLr31lQCOQpkM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr31lPyOOfmg=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31lQCORyTE=", + "_parent": { + "$ref": "AAAAAAGLr31lQCOQpkM=" + }, + "model": { + "$ref": "AAAAAAGLr31lPyOOfmg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 610, + "top": 427, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGLr31lQCOQpkM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31lQCOSBso=", + "_parent": { + "$ref": "AAAAAAGLr31lQCOQpkM=" + }, + "model": { + "$ref": "AAAAAAGLr31lPyOOfmg=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 595, + "top": 427, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGLr31lQCOQpkM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31lQCOTB6g=", + "_parent": { + "$ref": "AAAAAAGLr31lQCOQpkM=" + }, + "model": { + "$ref": "AAAAAAGLr31lPyOOfmg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 639, + "top": 428, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGLr31lQCOQpkM=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "tail": { + "$ref": "AAAAAAGLr2lPMRCHAJs=" + }, + "lineStyle": 1, + "points": "626:495;625:374", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGLr31lQCORyTE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGLr31lQCOSBso=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr31lQCOTB6g=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGLr31voCOhMGM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLr31voCOf0aE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31voCOinJw=", + "_parent": { + "$ref": "AAAAAAGLr31voCOhMGM=" + }, + "model": { + "$ref": "AAAAAAGLr31voCOf0aE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 693, + "top": 435, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGLr31voCOhMGM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31voCOjthM=", + "_parent": { + "$ref": "AAAAAAGLr31voCOhMGM=" + }, + "model": { + "$ref": "AAAAAAGLr31voCOf0aE=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 680, + "top": 442, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGLr31voCOhMGM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGLr31voCOktjY=", + "_parent": { + "$ref": "AAAAAAGLr31voCOhMGM=" + }, + "model": { + "$ref": "AAAAAAGLr31voCOf0aE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 720, + "top": 420, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGLr31voCOhMGM=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGLr1gegA6nTj0=" + }, + "tail": { + "$ref": "AAAAAAGLr2lpeRCxNLk=" + }, + "lineStyle": 1, + "points": "740:495;674:374", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGLr31voCOinJw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGLr31voCOjthM=" + }, + "propertyLabel": { + "$ref": "AAAAAAGLr31voCOktjY=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLr1gefA6lbCc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Joueur", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr1u4vg8nHgs=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr1u4vw8ozOw=", + "_parent": { + "$ref": "AAAAAAGLr1u4vg8nHgs=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr1u4vw8phxA=", + "_parent": { + "$ref": "AAAAAAGLr1u4vg8nHgs=" + }, + "reference": { + "$ref": "AAAAAAGLr1p2ww7hqKw=" + }, + "navigable": "navigable" + } + } + ], + "stereotype": "abstract", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLr2JcrhAn69Q=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "nom", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLr2JgPRAt+JE=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "nationalité", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLr2JipRAzqCk=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "club", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLr1jTEw7QzIw=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "numéro", + "visibility": "private", + "type": "int" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGLr29DehbW3dM=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "getNom", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGLr2+r4BoxpJA=", + "_parent": { + "$ref": "AAAAAAGLr29DehbW3dM=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGLr29HARctWB8=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "getNatio", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGLr2/Tfhq7ECA=", + "_parent": { + "$ref": "AAAAAAGLr29HARctWB8=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGLr29U0RgmHfo=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "getClub", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGLr2/2RRs80HA=", + "_parent": { + "$ref": "AAAAAAGLr29U0RgmHfo=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGLr1oRCg7XNME=", + "_parent": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "name": "getNumero", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGLr1o91w7eWYU=", + "_parent": { + "$ref": "AAAAAAGLr1oRCg7XNME=" + }, + "type": "int", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLr1p2ww7hqKw=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Ijoueur", + "stereotype": "interface", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGLr1sTew8ZpwE=", + "_parent": { + "$ref": "AAAAAAGLr1p2ww7hqKw=" + }, + "name": "getNumero", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGLr1tJFg8gh5Y=", + "_parent": { + "$ref": "AAAAAAGLr1sTew8ZpwE=" + }, + "type": "int", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLr2k3ghBbubc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Avant", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr2nd+xDeEgg=", + "_parent": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2nd+xDfyL4=", + "_parent": { + "$ref": "AAAAAAGLr2nd+xDeEgg=" + }, + "reference": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2nd+xDgKx4=", + "_parent": { + "$ref": "AAAAAAGLr2nd+xDeEgg=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLr2ogehPDmxA=", + "_parent": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "source": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "target": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLr2p0UhP2VtU=", + "_parent": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "source": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "target": { + "$ref": "AAAAAAGLr1p2ww7hqKw=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr2qlAhRCAt4=", + "_parent": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2qlAhRDXzo=", + "_parent": { + "$ref": "AAAAAAGLr2qlAhRCAt4=" + }, + "reference": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2qlAhREd78=", + "_parent": { + "$ref": "AAAAAAGLr2qlAhRCAt4=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLr31bXyN9u5U=", + "_parent": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "source": { + "$ref": "AAAAAAGLr2k3ghBbubc=" + }, + "target": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLr2lPMBCFknM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Charnière", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr2noOBGNQE0=", + "_parent": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2noOBGOW8o=", + "_parent": { + "$ref": "AAAAAAGLr2noOBGNQE0=" + }, + "reference": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2noOBGPBag=", + "_parent": { + "$ref": "AAAAAAGLr2noOBGNQE0=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLr2oqgRPUDeQ=", + "_parent": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "source": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "target": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLr2qAchQHljk=", + "_parent": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "source": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "target": { + "$ref": "AAAAAAGLr1p2ww7hqKw=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr2qwBBTNAMg=", + "_parent": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2qwBRTOBS8=", + "_parent": { + "$ref": "AAAAAAGLr2qwBBTNAMg=" + }, + "reference": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2qwBRTPbJo=", + "_parent": { + "$ref": "AAAAAAGLr2qwBBTNAMg=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLr31lPyOOfmg=", + "_parent": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "source": { + "$ref": "AAAAAAGLr2lPMBCFknM=" + }, + "target": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLr2lpeRCvAKo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Arrière", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr2nyehKBEK0=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2nyehKCckE=", + "_parent": { + "$ref": "AAAAAAGLr2nyehKBEK0=" + }, + "reference": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2nyehKDz/E=", + "_parent": { + "$ref": "AAAAAAGLr2nyehKBEK0=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLr2o8ChPlWKM=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "source": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "target": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLr2qK1xQYQO4=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "source": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "target": { + "$ref": "AAAAAAGLr1p2ww7hqKw=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLr2q88hXTU0I=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2q88hXUfaw=", + "_parent": { + "$ref": "AAAAAAGLr2q88hXTU0I=" + }, + "reference": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLr2q88hXVmv4=", + "_parent": { + "$ref": "AAAAAAGLr2q88hXTU0I=" + }, + "reference": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLr31voCOf0aE=", + "_parent": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "source": { + "$ref": "AAAAAAGLr2lpeRCvAKo=" + }, + "target": { + "$ref": "AAAAAAGLr1gefA6lbCc=" + } + } + ] + } + ] + } + ] +} \ No newline at end of file