Skip to content
Snippets Groups Projects
Commit c3691119 authored by Léa Рая DÉCORNOD's avatar Léa Рая DÉCORNOD
Browse files

use plantuml to render plantuml diagram files

parent ddc0672f
Branches
No related merge requests found
......@@ -9,6 +9,7 @@ build:
only:
- master
script:
- apt-get update -yqq && apt-get install -yqq --no-install-recommends graphviz fonts-inconsolata
- './mvnw -ntp clean package'
- printf 'ARTIFACT=${project.build.finalName}.${project.packaging}' | ./mvnw -q help:evaluate -DforceStdout > .env
artifacts:
......
......@@ -2,6 +2,7 @@
## Build
```sh
sudo apt install graphviz fonts-inconsolata
./mvnw -DskipTests=true clean package
```
......
......@@ -111,6 +111,40 @@
</executions>
</plugin>
<!-- render plantuml sources -->
<plugin>
<groupId>com.github.funthomas424242</groupId>
<artifactId>plantuml-maven-plugin</artifactId>
<version>1.5.2</version>
<configuration>
<format>svg</format>
<truncatePattern>src/main/webapp</truncatePattern>
<config>src/main/webapp/uml/plantuml.cfg</config>
<sourceFiles>
<directory>${basedir}</directory>
<includes>
<include>src/main/webapp/uml/**/*.wsd</include>
</includes>
</sourceFiles>
</configuration>
<dependencies>
<dependency>
<groupId>net.sourceforge.plantuml</groupId>
<artifactId>plantuml</artifactId>
<version>1.2022.14</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<executions>
<execution>
<?m2e execute onConfiguration,onIncremental?>
<id>plantuml-generate</id>
<phase>compile</phase>
<goals><goal>generate</goal></goals>
</execution>
</executions>
</plugin>
<!-- Configure Java compiler to use Java 8 syntax -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
......@@ -129,6 +163,7 @@
</plugin>
<!-- Configure WAR plugin to include JavaScript files generated by TeaVM -->
<!-- Configure WAR plugin to include plantuml rendered files -->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
......@@ -141,6 +176,9 @@
<resource>
<directory>${project.build.directory}/generated/js</directory>
</resource>
<resource>
<directory>${project.build.directory}/plantuml</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<targetPath>teavm/src</targetPath>
......@@ -201,6 +239,7 @@
<resourceBases>
<resourceBase>src/main/webapp</resourceBase>
<resourceBase>${project.build.directory}/generated/js</resourceBase>
<resourceBase>${project.build.directory}/plantuml</resourceBase>
<!-- <resourceBase>${project.build.directory}/generated/webjars/META-INF/resources</resourceBase> -->
<resourceBase>src/main/java</resourceBase> <!-- for /teavm/src/* → /* -->
</resourceBases>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="210px" preserveAspectRatio="none" style="width:327px;height:210px;" version="1.1" viewBox="0 0 327 210" width="327px" zoomAndPan="magnify"><defs><filter height="300%" id="f16sqcs8gs4ndd" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[7fd4401f5c5cb0e3d029c879cad30c04]
class Animal--><polygon fill="#FFFFFF" filter="url(#f16sqcs8gs4ndd)" points="6,27,6,27.2102,15.4,26.5857,24.8,27.1933,34.2,27.3997,43.6,26.2866,53,27,52.9741,27,52.8578,34.9938,52.8722,42.9875,52.9773,50.9813,52.7695,58.975,53,66.9688,53,67.5224,43.6,66.3385,34.2,66.771,24.8,67.4007,15.4,66.883,6,66.9688,6.0227,66.9688,5.9894,58.975,6.0595,50.9813,6.0797,42.9875,6.1952,34.9938,6,27" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="41" x="9" y="43.1387">Animal</text><path d="M7,50.9688 L7,51.249 L16,50.4163 L25,51.2265 L34,51.5017 L43,50.0176 L52,50.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M7,58.9688 L7,59.249 L16,58.4163 L25,59.2265 L34,59.5017 L43,58.0176 L52,58.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><!--MD5=[50d4997affe4b7e1b12b08ba12feba96]
class Chat--><polygon fill="#FFFFFF" filter="url(#f16sqcs8gs4ndd)" points="56.5,147,56.5,147.2102,65.9286,146.5857,75.3571,147.1933,84.7857,147.3997,94.2143,146.2866,103.6429,146.9223,113.0714,146.5735,122.5,147,122.1165,147,122.4318,157.5547,121.8086,168.1094,123.0536,178.6641,121.8697,189.2188,122.5,199.7734,122.5,199.5757,113.0714,200.2054,103.6429,199.6877,94.2143,199.8417,84.7857,199.7415,75.3571,199.952,65.9286,200.0126,56.5,199.7734,57.0857,199.7734,57.1711,189.2188,57.1793,178.6641,56.7546,168.1094,56.9636,157.5547,56.5,147" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="29" x="75" y="163.1387">Chat</text><path d="M57.5,170.9688 L57.5,171.249 L68.1667,170.4163 L78.8333,171.2265 L89.5,171.5017 L100.1667,170.0176 L110.8333,170.8651 L121.5,170.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M57.5,178.9688 L57.5,179.249 L68.1667,178.4163 L78.8333,179.2265 L89.5,179.5017 L100.1667,178.0176 L110.8333,178.8651 L121.5,178.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="54" x="62.5" y="193.1792">+miaow()</text><!--MD5=[4337fef93a4164fb5e17f09a2ace23d6]
class Personne--><polygon fill="#FFFFFF" filter="url(#f16sqcs8gs4ndd)" points="138,8,138,8.2102,147.7222,7.5857,157.4444,8.1933,167.1667,8.3997,176.8889,7.2866,186.6111,7.9223,196.3333,7.5735,206.0556,7.6165,215.7778,7.9318,225.5,7.3086,235.2222,8.5536,244.9444,7.3697,254.6667,7.8022,264.3889,8.4319,274.1111,7.9142,283.8333,8.0682,293.5556,7.9681,303.2778,8.1785,313,8,313.2391,8,313.5857,17.7979,313.6711,27.5957,313.6793,37.3936,313.2546,47.1914,313.4636,56.9893,313.7022,66.7871,312.2788,76.585,313,86.3828,313,87.0613,303.2778,86.0863,293.5556,86.9166,283.8333,85.8878,274.1111,86.3143,264.3889,87.1244,254.6667,86.3341,244.9444,86.4881,235.2222,86.7214,225.5,86.799,215.7778,86.3789,206.0556,86.67,196.3333,85.8104,186.6111,86.6672,176.8889,86.931,167.1667,86.8273,157.4444,86.9958,147.7222,85.8997,138,86.3828,137.3478,86.3828,137.3786,76.585,137.9411,66.7871,137.8035,56.9893,138.6814,47.1914,137.8253,37.3936,137.6569,27.5957,138.2283,17.7979,138,8" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="58" x="141" y="24.1387">Personne</text><polygon fill="#FFFFFF" points="207,5,207,5.2102,216.9091,4.5857,226.8182,5.1933,236.7273,5.3997,246.6364,4.2866,256.5455,4.9223,266.4545,4.5735,276.3636,4.6165,286.2727,4.9318,296.1818,4.3086,306.0909,5.5536,316,5,315.7899,5,315.9341,8.1938,316.144,11.3875,315.9714,14.5813,316.0227,17.775,316,20.9688,316,20.9368,306.0909,21.1473,296.1818,21.2079,286.2727,21.5544,276.3636,21.6398,266.4545,21.648,256.5455,21.2234,246.6364,21.4323,236.7273,21.671,226.8182,20.2476,216.9091,21.6473,207,20.9688,206.9012,20.9688,207.1779,17.775,206.835,14.5813,206.9772,11.3875,207.2472,8.1938,207,5" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="107" x="208" y="17.1387">A extends Animal</text><path d="M139,31.9688 L139,32.249 L149.1765,31.4163 L159.3529,32.2265 L169.5294,32.5017 L179.7059,31.0176 L189.8824,31.8651 L200.0588,31.4001 L210.2353,31.4574 L220.4118,31.8779 L230.5882,31.0469 L240.7647,32.7069 L250.9412,31.1284 L261.1176,31.7051 L271.2941,32.5447 L281.4706,31.8544 L291.6471,32.0597 L301.8235,31.9262 L312,31.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="144" y="46.1792">-a:A</text><path d="M139,52.7734 L139,53.0537 L149.1765,52.221 L159.3529,53.0312 L169.5294,53.3063 L179.7059,51.8222 L189.8824,52.6698 L200.0588,52.2048 L210.2353,52.2621 L220.4118,52.6826 L230.5882,51.8516 L240.7647,53.5116 L250.9412,51.9331 L261.1176,52.5097 L271.2941,53.3494 L281.4706,52.6591 L291.6471,52.8644 L301.8235,52.7308 L312,52.7734 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="89" x="144" y="66.9839">+Personne(a:A)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="144" y="79.7886">+getAnimalDeCompagnie():A</text><!--MD5=[c223d3af0f1c45efdc74d6fa9317a0de]
class AimeLesChats--><polygon fill="#FFFFFF" filter="url(#f16sqcs8gs4ndd)" points="168,153.5,168,153.7102,178.3333,153.0857,188.6667,153.6933,199,153.8997,209.3333,152.7866,219.6667,153.4223,230,153.0735,240.3333,153.1165,250.6667,153.4318,261,153.5,260.7695,153.5,261.1845,161.4938,260.7899,169.4875,260.9341,177.4813,261.144,185.475,261,193.4688,261,193.383,250.6667,193.537,240.3333,193.4368,230,193.6473,219.6667,193.7079,209.3333,194.0544,199,194.1398,188.6667,194.148,178.3333,193.7234,168,193.4688,168.1545,193.4688,168.2341,185.475,167.7596,177.4813,168.2262,169.4875,167.9012,161.4938,168,153.5" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="171" y="169.6387">AimeLesChats</text><path d="M169,177.4688 L169,177.749 L179.1111,176.9163 L189.2222,177.7265 L199.3333,178.0017 L209.4444,176.5176 L219.5556,177.3651 L229.6667,176.9001 L239.7778,176.9574 L249.8889,177.3779 L260,177.4688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M169,185.4688 L169,185.749 L179.1111,184.9163 L189.2222,185.7265 L199.3333,186.0017 L209.4444,184.5176 L219.5556,185.3651 L229.6667,184.9001 L239.7778,184.9574 L249.8889,185.3779 L260,185.4688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><!--MD5=[673ae6b9988c0ebbac8c0dc6e0f116d1]
reverse link Animal to Chat--><path d="M47.45,85.24 L47.7025,85.3616 L51.1752,93.7645 L56.1279,102.8804 L60.5987,111.7642 L63.4845,119.8843 L68.4709,129.0165 L72.2748,137.5789 L77.01,146.59 " fill="none" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="41.12,88.24,41.1896,88.2479,40.5068,84.0125,40.232,79.8232,39.8244,75.619,38.9797,71.3653,38.74,67.18,38.7217,67.1617,41.6375,70.0754,44.6456,73.0816,47.7179,76.1519,50.5691,79.001,53.73,82.16,53.8102,82.3262,51.1168,83.1868,48.6574,84.5326,46.2265,85.9377,43.6296,86.9982,41.12,88.24" style="stroke: #000000; stroke-width: 1.0;"/><!--MD5=[c615cb5bf782a3c0ea9012fe38d50262]
reverse link Animal to Personne--><path d="M72.12,62.46 L72.1429,62.5506 L74.1165,62.7985 L76.2246,63.5773 L78.2889,64.1832 L80.2092,64.2206 L82.3288,65.045 L82.3222,65.0111 L84.3272,65.2499 L86.3651,65.6596 L88.4258,66.1883 L90.4078,66.3072 L92.5,67 L92.528,67.2445 L94.6958,66.9769 L96.9454,67.4232 L99.205,67.9565 L101.4065,67.9831 L103.6386,68.2763 L103.6399,68.3066 L105.909,68.3598 L108.1841,68.551 L110.4563,68.6757 L112.7339,68.9273 L114.9938,68.765 L114.999,69.0632 L117.2877,69.0266 L119.5731,68.7976 L121.8633,68.8503 L124.1539,68.9161 L126.437,68.5638 L126.4148,68.244 L128.7386,68.7058 L130.9891,68.1148 L133.2953,68.3242 L135.5441,67.7093 L137.84,67.77 " fill="none" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="69.94,69.11,69.9822,69.166,66.4729,66.4497,63.2108,64.0615,59.8682,61.5664,56.2609,58.7201,53.02,56.36,53.0193,56.3341,57.2521,56.1019,61.4885,56.0002,65.7274,55.9893,69.9577,55.6656,74.2,55.78,74.3758,55.8362,73.1479,58.382,72.4332,61.0919,71.7811,63.8218,70.7648,66.4353,69.94,69.11" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="97.5" y="63.0669"/><!--MD5=[cf6cd28f04d751a50b38743d3f7327d9]
link Animal to Personne--><path d="M53.14,47 L53.14,47.2802 L63.3529,46.4476 L73.5657,47.2577 L83.7786,47.5329 L93.9914,46.0488 L104.2043,46.8964 L114.4171,46.4313 L124.63,47 " fill="none" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="137.77,47,137.8089,47.0583,136.4934,46.0851,135.4057,45.4536,134.2439,44.7109,132.8381,43.6021,131.77,43,131.7556,42.9784,130.4911,43.6817,129.2991,44.4936,128.1574,45.3811,126.8422,46.0082,125.77,47,125.8724,47.1536,126.8535,47.6252,128.1334,48.5451,129.4499,49.5198,130.5541,50.1762,131.77,51,131.7826,51.0189,132.9641,50.1911,134.203,49.4495,135.4142,48.6663,136.6783,47.9624,137.77,47" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="119.5" y="40.0669"/><!--MD5=[a3d02ad438d5422e0d466ddd7a418598]
reverse link Personne to AimeLesChats--><path d="M220.38,105.99 L220.6592,106.0147 L218.9897,115.4313 L218.9567,124.9927 L218.3908,134.507 L216.0725,143.8661 L216.18,153.44 " fill="none" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="none" points="213.41,105.34,213.4738,105.3689,215.0302,101.4211,216.9607,97.6425,218.7694,93.8089,220.1773,89.794,222.14,86.03,222.1149,86.0236,223.0442,90.103,224.1001,94.2146,225.244,98.3484,226.0846,102.4053,227.35,106.57,227.3662,106.7538,224.5435,106.1147,221.7682,106.0123,218.9987,105.9754,216.1955,105.5575,213.41,105.34" style="stroke: #000000; stroke-width: 1.0;"/><!--MD5=[770364bc456bb32d31a95901c5c96924]
reverse link Chat to AimeLesChats--><path d="M128,173.5 L128,173.5934 L135.976,173.3159 L143.952,173.5859 L151.928,173.6776 L159.904,173.1829 L167.88,173.5 " fill="none" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="122.7,173.5,122.7285,173.564,124.4439,174.1738,126.3262,175.1589,128.1541,176.0217,129.8034,176.4827,131.7,177.5,131.6817,177.4817,130.7995,176.5995,130.0096,175.8096,129.2839,175.0839,128.337,174.137,127.7,173.5,127.8305,173.6305,128.3514,172.5514,129.2534,171.8534,130.2018,171.2018,130.8798,170.2798,131.7,169.5,131.7092,169.5208,129.8957,170.2903,128.1242,171.1544,126.3324,171.9728,124.5793,172.8784,122.7,173.5" style="stroke: #000000; stroke-width: 1.0;"/><!--MD5=[848693f00c5c3ba0139224f0c018da59]
@startuml
skinparam handwritten true
skinparam class {
BackgroundColor White
AttributeIconSize 0
ArrowColor Black
BorderColor Black
}
hide circle
interface Animal
class Chat {
+ miaow()
}
Chat .up.|> Animal
abstract class Personne<A extends Animal> {
-a:A
+ Personne(a:A)
+ getAnimalDeCompagnie():A
}
Personne .left.|> Animal: " "
Personne o-left- Animal: " "
class AimeLesChats
AimeLesChats -up-|> Personne
AimeLesChats -left-> Chat
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.10+9-post-Debian-1
Operating System: Linux
Default Encoding: UTF-8
Language: fr
Country: FR
--></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="600px" preserveAspectRatio="none" style="width:700px;height:600px;" version="1.1" viewBox="0 0 700 600" width="700px" zoomAndPan="magnify"><defs><filter height="300%" id="fxastv9iubmn0" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[47de47a8b5f06cbc5e036fae0a9149b7]
class Iterable--><polygon fill="#FFFFFF" filter="url(#fxastv9iubmn0)" points="162,14.5,162,14.7102,172.0833,14.0857,182.1667,14.6933,192.25,14.8997,202.3333,13.7866,212.4167,14.4223,222.5,14.0735,232.5833,14.1165,242.6667,14.4318,252.75,13.8086,262.8333,15.0536,272.9167,13.8697,283,14.5,282.8022,14.5,283.4319,25.0547,282.9142,35.6094,283.0682,46.1641,282.9681,56.7188,283,67.2734,283,67.452,272.9167,67.5126,262.8333,67.8591,252.75,67.9445,242.6667,67.9527,232.5833,67.5281,222.5,67.737,212.4167,67.9757,202.3333,66.5523,192.25,67.9519,182.1667,66.9769,172.0833,67.8072,162,67.2734,161.505,67.2734,161.9315,56.7188,162.7416,46.1641,161.9513,35.6094,162.1053,25.0547,162,14.5" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="49" x="192" y="30.6387">Iterable</text><polygon fill="#FFFFFF" points="276,11.5,276,11.5701,278,11.3619,280,11.5644,282,11.6332,284,11.2622,286,11.5,285.9741,11.5,285.8578,14.6938,285.8722,17.8875,285.9773,21.0813,285.7695,24.275,286,27.4688,286,27.6533,284,27.2587,282,27.4028,280,27.6127,278,27.4402,276,27.4688,276.0227,27.4688,275.9894,24.275,276.0595,21.0813,276.0797,17.8875,276.1952,14.6938,276,11.5" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="277" y="23.6387">E</text><path d="M163,38.4688 L163,38.749 L172.9167,37.9163 L182.8333,38.7265 L192.75,39.0017 L202.6667,37.5176 L212.5833,38.3651 L222.5,37.9001 L232.4167,37.9574 L242.3333,38.3779 L252.25,37.5469 L262.1667,39.2069 L272.0833,37.6284 L282,38.4688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M163,46.4688 L163,46.749 L172.9167,45.9163 L182.8333,46.7265 L192.75,47.0017 L202.6667,45.5176 L212.5833,46.3651 L222.5,45.9001 L232.4167,45.9574 L242.3333,46.3779 L252.25,45.5469 L262.1667,47.2069 L272.0833,45.6284 L282,46.4688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="168" y="60.6792">+iterator(): Iterator</text><!--MD5=[023ecf6702e3ca2ce47ae747eafb20f1]
class Iterator--><polygon fill="#FFFFFF" filter="url(#fxastv9iubmn0)" points="403.5,8,403.5,8.2102,413.3462,7.5857,423.1923,8.1933,433.0385,8.3997,442.8846,7.2866,452.7308,7.9223,462.5769,7.5735,472.4231,7.6165,482.2692,7.9318,492.1154,7.3086,501.9615,8.5536,511.8077,7.3697,521.6538,7.8022,531.5,8,531.9319,8,531.4142,17.3683,531.5682,26.7366,531.4681,36.1049,531.6785,45.4732,531.7391,54.8415,532.0857,64.2098,531.5,73.5781,531.5,74.2492,521.6538,74.2574,511.8077,73.8328,501.9615,74.0417,492.1154,74.2804,482.2692,72.8569,472.4231,74.2566,462.5769,73.2816,452.7308,74.1119,442.8846,73.0831,433.0385,73.5096,423.1923,74.3197,413.3462,73.5294,403.5,73.5781,403.6053,73.5781,403.8386,64.2098,403.9162,54.8415,403.4961,45.4732,403.7872,36.1049,402.9276,26.7366,403.7844,17.3683,403.5,8" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="48" x="437.5" y="24.1387">Iterator</text><polygon fill="#FFFFFF" points="524.5,5,524.5,5.0701,526.5,4.8619,528.5,5.0644,530.5,5.1332,532.5,4.7622,534.5,5,534.4741,5,534.3578,8.1938,534.3722,11.3875,534.4773,14.5813,534.2695,17.775,534.5,20.9688,534.5,21.1533,532.5,20.7587,530.5,20.9028,528.5,21.1127,526.5,20.9402,524.5,20.9688,524.5227,20.9688,524.4894,17.775,524.5595,14.5813,524.5797,11.3875,524.6952,8.1938,524.5,5" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="525.5" y="17.1387">E</text><path d="M404.5,31.9688 L404.5,32.249 L414.1923,31.4163 L423.8846,32.2265 L433.5769,32.5017 L443.2692,31.0176 L452.9615,31.8651 L462.6538,31.4001 L472.3462,31.4574 L482.0385,31.8779 L491.7308,31.0469 L501.4231,32.7069 L511.1154,31.1284 L520.8077,31.7051 L530.5,31.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M404.5,39.9688 L404.5,40.249 L414.1923,39.4163 L423.8846,40.2265 L433.5769,40.5017 L443.2692,39.0176 L452.9615,39.8651 L462.6538,39.4001 L472.3462,39.4574 L482.0385,39.8779 L491.7308,39.0469 L501.4231,40.7069 L511.1154,39.1284 L520.8077,39.7051 L530.5,39.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="409.5" y="54.1792">+hasNext(): boolean</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="409.5" y="66.9839">+next(): E</text><!--MD5=[c160724f8e3bb89ca8141a12554ac2e3]
class Collection--><!--MD5=[3d4177ac58b4411586d067f34e84928f]
class List--><!--MD5=[73145e46247802284b2f7aaef1fa1797]
class Set--><!--MD5=[8e34b16d8d8f96f4a11290cd523ed859]
class AbstractCollection--><!--MD5=[b4fa10df80476353258f72a232547d63]
class AbstractList--><!--MD5=[7b70534925d0b3ae9be6dccf3050d2ed]
class AbstractSet--><!--MD5=[ab8871ed637f40707b866ba6597734bc]
class ArrayList--><!--MD5=[a046d640d88ed63f622f54ae7bf961fb]
class LinkedList--><!--MD5=[081e18de64b05ec8ae686bcc1669da5e]
class HashSet--><!--MD5=[95f770ba5087db94578937ba4821175f]
class TreeSet--><!--MD5=[4dfc6a72b8dd60daa1b635d583ff79da]
class Map--><!--MD5=[776372dd89f23b674f69280af1cc29cf]
class Map.Entry--><!--MD5=[832291cb347979b380a525daae354850]
class AbstractMap--><!--MD5=[702f122c79729df12a8a52022932f992]
class HashMap--><!--MD5=[0edaf59d72467900525267fa96001854]
class TreeMap--><!--MD5=[037cab38aea2f480ffc522382b218ee1]
link Iterable to Iterator--><path d="M283.06,41 L283.06,41.2802 L292.6442,40.4476 L302.2283,41.2577 L311.8125,41.5329 L321.3967,40.0488 L330.9808,40.8964 L340.565,40.4313 L350.1492,40.4887 L359.7333,40.9091 L369.3175,40.0782 L378.9017,41.7382 L388.4858,40.1596 L398.07,41 " fill="none" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#000000" points="403.35,41,403.3785,41.064,401.4939,40.0738,399.7762,39.4589,398.0041,38.7217,396.0534,37.5827,394.35,37,394.3317,36.9817,395.0495,37.6995,395.8596,38.5096,396.7339,39.3839,397.387,40.037,398.35,41,398.4805,41.1305,397.4014,41.6514,396.7034,42.5534,396.0518,43.5018,395.1298,44.1798,394.35,45,394.3592,45.0208,396.1457,44.1903,397.9742,43.4544,399.7824,42.6728,401.6293,41.9784,403.35,41" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="309.25" y="34.0669">+iterator()</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="388.528" y="37.2318">*</text><!--MD5=[30609b773d1acd1d8ef4d49cf63668f8]
reverse link Iterable to Collection--><!--MD5=[0159284274f96a472eb2618ad803aaca]
reverse link Collection to List--><!--MD5=[1317568493796c4665b61a5c76c851cf]
reverse link Collection to Set--><!--MD5=[1822909749df1453bdd84de7a60a3406]
reverse link Collection to AbstractCollection--><!--MD5=[00308d07b6a5721fb0cf5861877e6652]
reverse link List to AbstractList--><!--MD5=[7a3a52e8f65ef1a8d8d29530ea5cd870]
reverse link AbstractCollection to AbstractList--><!--MD5=[5ac6776ea173b31adf7696e1f5e7fcef]
reverse link Set to AbstractSet--><!--MD5=[9b594aaed6aa66ef6104186f2a1ed2cc]
reverse link AbstractCollection to AbstractSet--><!--MD5=[40e4bb1af59cca28d4643aaff05088cc]
reverse link AbstractList to ArrayList--><!--MD5=[c6be9ab6aef8bfbb54d88d36413e4e11]
reverse link AbstractList to LinkedList--><!--MD5=[de45e2c5d56a9b4f4b0e4c523efd2001]
reverse link AbstractSet to HashSet--><!--MD5=[57bf5717c66e11fd4e28582b58e91fbf]
reverse link AbstractSet to TreeSet--><!--MD5=[d2756016080aa2145294b4fa8b08adf7]
reverse link Collection to Map--><!--MD5=[621de20c1b82fd5f5cf51e8ae37844eb]
link Map to Set--><!--MD5=[621de20c1b82fd5f5cf51e8ae37844eb]
link Map to Set--><!--MD5=[2a63bb5e64f9cf4b150e40c1587b82a4]
reverse link Map to Map.Entry--><!--MD5=[8e60b9f38fd14f0388947c235c76089a]
reverse link Map to AbstractMap--><!--MD5=[ff81515ae564c7d5d80577b818be00ef]
reverse link AbstractMap to HashMap--><!--MD5=[a917449f0c364f6714bd8cce8cf2d0a3]
reverse link AbstractMap to TreeMap--><!--MD5=[234103955a91beddd000436038b11af1]
@startuml
skinparam handwritten true
skinparam class {
BackgroundColor White
AttributeIconSize 0
ArrowColor Black
BorderColor Black
}
hide circle
interface Iterable<E> {
+iterator(): Iterator
}
interface Iterator<E> {
+ hasNext(): boolean
+ next(): E
}
Iterable .right.> "*" Iterator : " +iterator() "
interface Collection<E> {
+size()
+isEmpty()
+add(e:E)
+remove(e:E)
+clear()
+contains(o:Object)
}
hide Collection
Collection .up.|> Iterable
interface List<E> {
+indexOf(o:Object)
+get(i:int)
+set(i:int,e:E)
+remove(i:int)
}
hide List
interface Set<E>
hide Set members
hide Set
List .up.|> Collection
Set .up.|> Collection
abstract class AbstractCollection<E> #LightGray
hide AbstractCollection members
hide AbstractCollection
abstract class AbstractList<E> #LightGray
hide AbstractList members
hide AbstractList
abstract class AbstractSet<E> #LightGray
hide AbstractSet members
hide AbstractSet
AbstractCollection .up.|> Collection
AbstractList .up.|> List
AbstractList -up-|> AbstractCollection
AbstractSet .up.|> Set
AbstractSet -up-|> AbstractCollection
class ArrayList<E> #dcf0ff
hide ArrayList members
hide ArrayList
class LinkedList<E> #dcf0ff
hide LinkedList members
hide LinkedList
class HashSet<E> #dcf0ff
hide HashSet members
hide HashSet
class TreeSet<E> #dcf0ff
hide TreeSet members
hide TreeSet
ArrayList -up-|> AbstractList
LinkedList -up-|> AbstractList
HashSet -up-|> AbstractSet
TreeSet -up-|> AbstractSet
interface Map<K,V> {
+size()
+isEmpty()
+get(k:K):V
+put(k:K,v:V)
+remove(k:K)
+clear()
}
hide Map
Map .left.> Collection: "values():Collection<V>"
Map ..> Set: "keySet()"
interface Map.Entry<K,V> {
+getKey():K
+getValue():V
}
hide Map.Entry
Map +-right- "*" Map.Entry
Map ..> Set: "entrySet()"
abstract class AbstractMap<K,V> #LightGray
hide AbstractMap members
hide AbstractMap
AbstractMap .up.|> Map
class HashMap<K,V> #dcf0ff
hide HashMap members
hide HashMap
HashMap -up-|>AbstractMap
class TreeMap<K,V> #dcf0ff
hide TreeMap members
hide TreeMap
TreeMap -up-|>AbstractMap
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.10+9-post-Debian-1
Operating System: Linux
Default Encoding: UTF-8
Language: fr
Country: FR
--></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="210px" preserveAspectRatio="none" style="width:354px;height:210px;" version="1.1" viewBox="0 0 354 210" width="354px" zoomAndPan="magnify"><defs><filter height="300%" id="f120tcntxgivq2" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[7fd4401f5c5cb0e3d029c879cad30c04]
class Animal--><polygon fill="#FFFFFF" filter="url(#f120tcntxgivq2)" points="6,27,6,27.2102,15.4,26.5857,24.8,27.1933,34.2,27.3997,43.6,26.2866,53,27,52.9741,27,52.8578,34.9938,52.8722,42.9875,52.9773,50.9813,52.7695,58.975,53,66.9688,53,67.5224,43.6,66.3385,34.2,66.771,24.8,67.4007,15.4,66.883,6,66.9688,6.0227,66.9688,5.9894,58.975,6.0595,50.9813,6.0797,42.9875,6.1952,34.9938,6,27" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="41" x="9" y="43.1387">Animal</text><path d="M7,50.9688 L7,51.249 L16,50.4163 L25,51.2265 L34,51.5017 L43,50.0176 L52,50.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M7,58.9688 L7,59.249 L16,58.4163 L25,59.2265 L34,59.5017 L43,58.0176 L52,58.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><!--MD5=[50d4997affe4b7e1b12b08ba12feba96]
class Chat--><polygon fill="#FFFFFF" filter="url(#f120tcntxgivq2)" points="68.5,147,68.5,147.2102,77.9286,146.5857,87.3571,147.1933,96.7857,147.3997,106.2143,146.2866,115.6429,146.9223,125.0714,146.5735,134.5,147,134.1165,147,134.4318,157.5547,133.8086,168.1094,135.0536,178.6641,133.8697,189.2188,134.5,199.7734,134.5,199.5757,125.0714,200.2054,115.6429,199.6877,106.2143,199.8417,96.7857,199.7415,87.3571,199.952,77.9286,200.0126,68.5,199.7734,69.0857,199.7734,69.1711,189.2188,69.1793,178.6641,68.7546,168.1094,68.9636,157.5547,68.5,147" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="29" x="87" y="163.1387">Chat</text><path d="M69.5,170.9688 L69.5,171.249 L80.1667,170.4163 L90.8333,171.2265 L101.5,171.5017 L112.1667,170.0176 L122.8333,170.8651 L133.5,170.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M69.5,178.9688 L69.5,179.249 L80.1667,178.4163 L90.8333,179.2265 L101.5,179.5017 L112.1667,178.0176 L122.8333,178.8651 L133.5,178.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="54" x="74.5" y="193.1792">+miaow()</text><!--MD5=[4337fef93a4164fb5e17f09a2ace23d6]
class Personne--><polygon fill="#FFFFFF" filter="url(#f120tcntxgivq2)" points="137.5,8,137.5,8.2102,147.3095,7.5857,157.119,8.1933,166.9286,8.3997,176.7381,7.2866,186.5476,7.9223,196.3571,7.5735,206.1667,7.6165,215.9762,7.9318,225.7857,7.3086,235.5952,8.5536,245.4048,7.3697,255.2143,7.8022,265.0238,8.4319,274.8333,7.9142,284.6429,8.0682,294.4524,7.9681,304.2619,8.1785,314.0714,8.2391,323.881,8.5857,333.6905,8.6711,343.5,8,344.1793,8,343.7546,17.7979,343.9636,27.5957,344.2022,37.3936,342.7788,47.1914,344.1785,56.9893,343.2035,66.7871,344.0338,76.585,343.5,86.3828,343.5,85.8878,333.6905,86.3143,323.881,87.1244,314.0714,86.3341,304.2619,86.4881,294.4524,86.7214,284.6429,86.799,274.8333,86.3789,265.0238,86.67,255.2143,85.8104,245.4048,86.6672,235.5952,86.931,225.7857,86.8273,215.9762,86.9958,206.1667,85.8997,196.3571,85.7306,186.5476,85.7614,176.7381,86.3239,166.9286,86.1863,157.119,87.0642,147.3095,86.2081,137.5,86.3828,137.1569,86.3828,137.7283,76.585,136.8332,66.7871,136.9809,56.9893,138.149,47.1914,137.9357,37.3936,138.2345,27.5957,137.1782,17.7979,137.5,8" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="58" x="211.5" y="24.1387">Personne</text><path d="M138.5,31.9688 L138.5,32.249 L148.7,31.4163 L158.9,32.2265 L169.1,32.5017 L179.3,31.0176 L189.5,31.8651 L199.7,31.4001 L209.9,31.4574 L220.1,31.8779 L230.3,31.0469 L240.5,32.7069 L250.7,31.1284 L260.9,31.7051 L271.1,32.5447 L281.3,31.8544 L291.5,32.0597 L301.7,31.9262 L311.9,32.2068 L322.1,32.2876 L332.3,32.7497 L342.5,31.9688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="143.5" y="46.1792">-a:Animal</text><path d="M138.5,52.7734 L138.5,53.0537 L148.7,52.221 L158.9,53.0312 L169.1,53.3063 L179.3,51.8222 L189.5,52.6698 L199.7,52.2048 L209.9,52.2621 L220.1,52.6826 L230.3,51.8516 L240.5,53.5116 L250.7,51.9331 L260.9,52.5097 L271.1,53.3494 L281.3,52.6591 L291.5,52.8644 L301.7,52.7308 L311.9,53.0115 L322.1,53.0923 L332.3,53.5544 L342.5,52.7734 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="143.5" y="66.9839">+Personne(a:Animal)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="143.5" y="79.7886">+getAnimalDeCompagnie():Animal</text><!--MD5=[c223d3af0f1c45efdc74d6fa9317a0de]
class AimeLesChats--><polygon fill="#FFFFFF" filter="url(#f120tcntxgivq2)" points="182,153.5,182,153.7102,192.3333,153.0857,202.6667,153.6933,213,153.8997,223.3333,152.7866,233.6667,153.4223,244,153.0735,254.3333,153.1165,264.6667,153.4318,275,153.5,274.7695,153.5,275.1845,161.4938,274.7899,169.4875,274.9341,177.4813,275.144,185.475,275,193.4688,275,193.383,264.6667,193.537,254.3333,193.4368,244,193.6473,233.6667,193.7079,223.3333,194.0544,213,194.1398,202.6667,194.148,192.3333,193.7234,182,193.4688,182.1545,193.4688,182.2341,185.475,181.7596,177.4813,182.2262,169.4875,181.9012,161.4938,182,153.5" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="185" y="169.6387">AimeLesChats</text><path d="M183,177.4688 L183,177.749 L193.1111,176.9163 L203.2222,177.7265 L213.3333,178.0017 L223.4444,176.5176 L233.5556,177.3651 L243.6667,176.9001 L253.7778,176.9574 L263.8889,177.3779 L274,177.4688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><path d="M183,185.4688 L183,185.749 L193.1111,184.9163 L203.2222,185.7265 L213.3333,186.0017 L223.4444,184.5176 L233.5556,185.3651 L243.6667,184.9001 L253.7778,184.9574 L263.8889,185.3779 L274,185.4688 " fill="#FFFFFF" style="stroke: #000000; stroke-width: 1.5;"/><!--MD5=[673ae6b9988c0ebbac8c0dc6e0f116d1]
reverse link Animal to Chat--><path d="M50.68,84.62 L50.9226,84.7603 L55.3203,93.1963 L61.1403,102.4547 L66.4971,111.4453 L70.3308,119.5553 L76.1832,128.8324 L80.8991,137.4525 L86.51,146.59 " fill="none" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="44.55,88,44.6188,88.0131,43.6223,83.8102,43.0293,79.684,42.3049,75.5329,41.1484,71.2996,40.59,67.18,40.5731,67.1604,43.7113,69.8342,46.9347,72.607,50.2172,75.4488,53.2958,78.0532,56.66,80.99,56.7525,81.1497,54.1327,82.2102,51.783,83.7369,49.4661,85.3206,46.9577,86.5733,44.55,88" style="stroke: #000000; stroke-width: 1.0;"/><!--MD5=[c615cb5bf782a3c0ea9012fe38d50262]
reverse link Animal to Personne--><path d="M72.43,62.6 L72.4528,62.6906 L74.3707,62.9222 L76.4225,63.6848 L78.4307,64.2745 L80.2955,64.2956 L82.3588,65.1037 L82.3522,65.0698 L84.3013,65.2968 L86.2832,65.6949 L88.2878,66.2117 L90.2139,66.319 L92.25,67 L92.2795,67.2443 L94.4188,66.9882 L96.6443,67.4454 L98.8803,67.9896 L101.055,68.0275 L103.262,68.3317 L103.2638,68.362 L105.505,68.451 L107.7544,68.6777 L109.9999,68.838 L112.2529,69.1252 L114.4812,68.9988 L114.4832,69.297 L116.7484,69.3152 L119.0124,69.141 L121.2782,69.2484 L123.5441,69.369 L125.8073,69.0714 L125.7946,68.7511 L128.0859,69.2824 L130.3352,68.7592 L132.6164,69.0376 L134.8647,68.4904 L137.14,68.62 " fill="none" style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="70.14,69.22,70.1822,69.276,66.6729,66.5597,63.4108,64.1715,60.0682,61.6764,56.4609,58.8301,53.22,56.47,53.2193,56.4441,57.452,56.2099,61.6884,56.1062,65.9274,56.0933,70.1576,55.7676,74.4,55.88,74.5758,55.9361,73.3479,58.4841,72.6332,61.1959,71.9812,63.9278,70.9648,66.5433,70.14,69.22" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="97.25" y="63.0669"/><!--MD5=[cf6cd28f04d751a50b38743d3f7327d9]
link Animal to Personne--><path d="M53.29,47 L53.29,47.2802 L63.3929,46.4476 L73.4957,47.2577 L83.5986,47.5329 L93.7014,46.0488 L103.8043,46.8964 L113.9071,46.4313 L124.01,47 " fill="none" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="137.27,47,137.3089,47.0583,135.9934,46.0851,134.9057,45.4536,133.7439,44.7109,132.3381,43.6021,131.27,43,131.2556,42.9784,129.9911,43.6817,128.7991,44.4936,127.6574,45.3811,126.3422,46.0082,125.27,47,125.3724,47.1536,126.3535,47.6252,127.6334,48.5451,128.9499,49.5198,130.0541,50.1762,131.27,51,131.2826,51.0189,132.4641,50.1911,133.703,49.4495,134.9142,48.6663,136.1783,47.9624,137.27,47" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="119.25" y="40.0669"/><!--MD5=[a3d02ad438d5422e0d466ddd7a418598]
reverse link Personne to AimeLesChats--><path d="M234.91,105.99 L235.189,106.0169 L233.4461,115.427 L233.3385,124.9947 L232.6985,134.5111 L230.3072,143.8588 L230.34,153.44 " fill="none" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="none" points="227.95,105.27,228.0136,105.2994,229.6006,101.3641,231.5605,97.601,233.399,93.7818,234.8381,89.7783,236.83,86.03,236.8048,86.0238,237.7019,90.1121,238.7259,94.2315,239.8379,98.3726,240.6462,102.4391,241.88,106.61,241.8977,106.7937,239.0739,106.1329,236.3017,106.0084,233.5358,105.9493,230.7333,105.5095,227.95,105.27" style="stroke: #000000; stroke-width: 1.0;"/><!--MD5=[770364bc456bb32d31a95901c5c96924]
reverse link Chat to AimeLesChats--><path d="M139.91,173.5 L139.91,173.5934 L148.326,173.3159 L156.742,173.5859 L165.158,173.6776 L173.574,173.1829 L181.99,173.5 " fill="none" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="134.74,173.5,134.7685,173.564,136.4839,174.1738,138.3662,175.1589,140.1941,176.0217,141.8434,176.4827,143.74,177.5,143.7217,177.4817,142.8395,176.5995,142.0496,175.8096,141.3239,175.0839,140.377,174.137,139.74,173.5,139.8705,173.6305,140.3914,172.5514,141.2934,171.8534,142.2418,171.2018,142.9198,170.2798,143.74,169.5,143.7492,169.5208,141.9357,170.2903,140.1642,171.1544,138.3724,171.9728,136.6193,172.8784,134.74,173.5" style="stroke: #000000; stroke-width: 1.0;"/><!--MD5=[15907685373103c59bc4a37f9d0033e4]
@startuml
skinparam handwritten true
skinparam class {
BackgroundColor White
AttributeIconSize 0
ArrowColor Black
BorderColor Black
}
hide circle
interface Animal
class Chat {
+ miaow()
}
Chat .up.|> Animal
abstract class Personne {
-a:Animal
+ Personne(a:Animal)
+ getAnimalDeCompagnie():Animal
}
Personne .left.|> Animal: " "
Personne o-left- Animal: " "
class AimeLesChats
AimeLesChats -up-|> Personne
AimeLesChats -left-> Chat
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.10+9-post-Debian-1
Operating System: Linux
Default Encoding: UTF-8
Language: fr
Country: FR
--></g></svg>
\ No newline at end of file
<style>
root {
BackgroundColor transparent
LineThickness 1
}
</style>
skinparam Shadowing true
skinparam DefaultFontName Inconsolata
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment