diff --git a/DEV3.4/TP4/stub/0Bad/Base.class b/DEV3.4/TP4/stub/0Bad/Base.class new file mode 100644 index 0000000..729c95a Binary files /dev/null and b/DEV3.4/TP4/stub/0Bad/Base.class differ 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 0000000..1e92419 Binary files /dev/null and b/DEV3.4/TP4/stub/0Bad/Exemple.class differ 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 0000000..78df7e0 Binary files /dev/null and b/DEV3.4/TP4/stub/0Bad/MonBrin.class differ 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 0000000..a34e2ca Binary files /dev/null and b/DEV3.4/TP4/stub/0Bad/MonMaillon.class differ 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 0000000..729c95a Binary files /dev/null and b/DEV3.4/TP4/stub/1Iterable/Base.class differ 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 0000000..9e48e56 Binary files /dev/null and b/DEV3.4/TP4/stub/1Iterable/Exemple.class differ 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 0000000..b69f223 Binary files /dev/null and b/DEV3.4/TP4/stub/1Iterable/MonBrin.class differ 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 0000000..4334c4e Binary files /dev/null and b/DEV3.4/TP4/stub/1Iterable/MonMaillon.class differ 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 0000000..d5ee521 Binary files /dev/null and b/DEV3.4/TP4/stubTPADN.tar.gz differ diff --git a/DEV3.4/TP5/stub/exo3/Chef.class b/DEV3.4/TP5/stub/exo3/Chef.class new file mode 100644 index 0000000..91527ab Binary files /dev/null and b/DEV3.4/TP5/stub/exo3/Chef.class differ diff --git a/DEV3.4/TP5/stub/exo3/Chef.java b/DEV3.4/TP5/stub/exo3/Chef.java new file mode 100644 index 0000000..687c8ab --- /dev/null +++ b/DEV3.4/TP5/stub/exo3/Chef.java @@ -0,0 +1,62 @@ +import java.util.*; + +/** feuille du motif composite */ +public class Chef extends Person { + + ArrayList 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;iNB. 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 0000000..163aff0 Binary files /dev/null and b/DEV3.4/TP5/stub/exo3/Travailleur.class differ 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 0000000..4a5fecb Binary files /dev/null and b/DEV3.4/TP5/stubTPBamboche.tar.gz differ diff --git a/DEV3.4/TP6/Donjon.class b/DEV3.4/TP6/Donjon.class new file mode 100644 index 0000000..e726729 Binary files /dev/null and b/DEV3.4/TP6/Donjon.class differ diff --git a/DEV3.4/TP6/Donjon.java b/DEV3.4/TP6/Donjon.java new file mode 100644 index 0000000..0bf2c3a --- /dev/null +++ b/DEV3.4/TP6/Donjon.java @@ -0,0 +1,10 @@ +public abstract class Donjon{ + + abstract public PieceNPlocal apres (PieceNPlocal p); + + abstract public PieceNPlocal avant (PieceNPlocal p); + + //version bd à ajouter + + +} \ No newline at end of file diff --git a/DEV3.4/TP6/DonjonNPlocal.class b/DEV3.4/TP6/DonjonNPlocal.class new file mode 100644 index 0000000..2d45189 Binary files /dev/null and b/DEV3.4/TP6/DonjonNPlocal.class differ diff --git a/DEV3.4/TP6/DonjonNPlocal.java b/DEV3.4/TP6/DonjonNPlocal.java new file mode 100644 index 0000000..a9a753e --- /dev/null +++ b/DEV3.4/TP6/DonjonNPlocal.java @@ -0,0 +1,39 @@ +import java.util.*; + +public class DonjonNPlocal extends Donjon{ + + private int indexPiecePerso; + private ArrayList 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 0000000..8e34f5e Binary files /dev/null and b/DEV3.4/TP6/Main.class differ diff --git a/DEV3.4/TP6/Main.java b/DEV3.4/TP6/Main.java new file mode 100644 index 0000000..a34231a --- /dev/null +++ b/DEV3.4/TP6/Main.java @@ -0,0 +1,33 @@ +import java.util.*; + +public class Main{ + + public static void main(String[] args) { + + ArrayList 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 0000000..104649e Binary files /dev/null and b/DEV3.4/TP6/Piece.class differ 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 0000000..5a74fc1 Binary files /dev/null and b/DEV3.4/TP6/PieceNPlocal.class differ diff --git a/DEV3.4/TP6/PieceNPlocal.java b/DEV3.4/TP6/PieceNPlocal.java new file mode 100644 index 0000000..fd2bf06 --- /dev/null +++ b/DEV3.4/TP6/PieceNPlocal.java @@ -0,0 +1,11 @@ +public class PieceNPlocal extends Piece{ + + public PieceNPlocal(int x){ + this.contenu = x; + } + + public int getContenu(){ + return this.contenu; + } + +} \ No newline at end of file diff --git a/DEV3.4/TP6/VuePerso.class b/DEV3.4/TP6/VuePerso.class new file mode 100644 index 0000000..901bbaa Binary files /dev/null and b/DEV3.4/TP6/VuePerso.class differ 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