You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Projet_JAVA_P2P_STRI2A/doc/1.1/classdiagram-Page-1-1.1.svg

3 lines
43 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1632px" height="932px" viewBox="-0.5 -0.5 1632 932" content="&lt;mxfile host=&quot;www.draw.io&quot; modified=&quot;2020-01-29T13:20:57.504Z&quot; agent=&quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15&quot; etag=&quot;TE8vMM1r6eovPn9hF26c&quot; version=&quot;12.6.1&quot; type=&quot;device&quot; pages=&quot;2&quot;&gt;&lt;diagram id=&quot;MxademQTiYvtQCVb_gz8&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;diagram id=&quot;Nmcg78wJzheiyKvJY45I&quot; name=&quot;Page-2&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-844-125-562-140-0"><rect x="844" y="125" width="562" height="140"/></clipPath><clipPath id="mx-clip-34-31-432-74-0"><rect x="34" y="31" width="432" height="74"/></clipPath><clipPath id="mx-clip-34-113-432-112-0"><rect x="34" y="113" width="432" height="112"/></clipPath><clipPath id="mx-clip-194-291-152-44-0"><rect x="194" y="291" width="152" height="44"/></clipPath><clipPath id="mx-clip-194-337-152-26-0"><rect x="194" y="337" width="152" height="26"/></clipPath><clipPath id="mx-clip-1474-111-152-54-0"><rect x="1474" y="111" width="152" height="54"/></clipPath><clipPath id="mx-clip-1474-173-152-26-0"><rect x="1474" y="173" width="152" height="26"/></clipPath><clipPath id="mx-clip-544-31-242-54-0"><rect x="544" y="31" width="242" height="54"/></clipPath><clipPath id="mx-clip-544-93-242-80-0"><rect x="544" y="93" width="242" height="80"/></clipPath><clipPath id="mx-clip-544-173-242-80-0"><rect x="544" y="173" width="242" height="80"/></clipPath></defs><g><path d="M 150 445 L 150 270 L 150 222.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260 687.5 L 260 910 L 1150 910 L 1150 260 L 1125 260" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 0 430 L 40 430 L 40 444 L 260 444 L 260 930 L 0 930 L 0 444 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 0 444 L 40 444" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 620 580 L 620 607.5 L 580 607.5 L 580 340 L 420 340 L 420 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 620 442 L 660 442 L 660 456 L 1100 456 L 1100 702 L 620 702 L 620 456 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 620 456 L 660 456" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 439px; margin-left: 622px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap; ">remoteException</div></div></div></foreignObject><text x="622" y="439" fill="#000000" font-family="Helvetica" font-size="12px" font-weight="bold">remoteException</text></switch></g><path d="M 532 750 L 1125 750 L 1125 260 L 1062.5 260" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 302 434 L 342 434 L 342 448 L 532 448 L 532 884 L 302 884 L 302 448 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 302 448 L 342 448" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 431px; margin-left: 304px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap; "><div>exception</div></div></div></div></foreignObject><text x="304" y="431" fill="#000000" font-family="Helvetica" font-size="12px" font-weight="bold">exception</text></switch></g><path d="M 840 26 L 840 0 L 1410 0 L 1410 26" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 840 26 L 840 260 L 1410 260 L 1410 26" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 840 26 L 1410 26" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="1124.5" y="17.5">ClientManagementUDP</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 56px; margin-left: 842px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; white-space: nowrap; "><div>- String baseDirectory</div><div>- int UDPPort</div><div>- String host</div><div>- DatagramSocket socket<br /></div></div></div></div></foreignObject><text x="842" y="60" fill="#000000" font-family="Helvetica" font-size="12px">- String baseDirectory...</text></switch></g><path d="M 840 103 L 1410 103" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-844-125-562-140-0)" font-size="12px"><text x="845.5" y="137.5">+ ClientManagementUDP(String baseDirectory, String host, int UDPPort)</text><text x="845.5" y="151.5">+ void run()</text><text x="845.5" y="165.5">+ void download(String filename) throws EmptyFile, NotFound, InternalError, UnknownHostException,</text><text x="845.5" y="179.5">IoException, TransmissionError, ProtocolError, VersionError, SizeError, InternalRemoteError,</text><text x="845.5" y="193.5">ProtocolRemoteError, VersionRemoteError</text><text x="845.5" y="207.5">+ String[] listDirectory() throws EmptyDirectory, InternalError, UnknownHostException, IOException,</text><text x="845.5" y="221.5">TransmissionError, ProtocolError, VersionError, SizeError, InternalRemoteError,</text><text x="845.5" y="235.5">ProtocolRemoteError, VersionRemoteError</text></g><path d="M 30 26 L 30 0 L 470 0 L 470 26" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 30 26 L 30 220 L 470 220 L 470 26" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 30 26 L 470 26" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="249.5" y="17.5">ServerManagementUDP</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-34-31-432-74-0)" font-size="12px"><text x="35.5" y="43.5">- String[] fileList</text><text x="35.5" y="57.5">- String baseDirectory</text><text x="35.5" y="71.5">- int UDPPort</text><text x="35.5" y="85.5">- DatagramSocket socket</text></g><path d="M 30 104 L 470 104" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-34-113-432-112-0)" font-size="12px"><text x="35.5" y="125.5">+ ServerManagementUDP(String baseDirectory, int UDPPort)</text><text x="35.5" y="139.5">+ void run()</text><text x="35.5" y="153.5">- void initFileList()</text><text x="35.5" y="167.5">- void sendInternalError(ProtocolP2PDatagram pd)</text></g><path d="M 190 286 L 190 260 L 350 260 L 350 286" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 190 286 L 190 358 L 350 358 L 350 286" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 190 286 L 350 286" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="269.5" y="277.5">ServerP2P</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-194-291-152-44-0)" font-size="12px"><text x="195.5" y="303.5">- int port</text><text x="195.5" y="317.5">- String directory </text></g><path d="M 190 331 L 350 331" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-194-337-152-26-0)" font-size="12px"><text x="195.5" y="349.5">+void main()</text></g><path d="M 630 290 L 450 290 L 450 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 650 290 L 930 290 L 930 260" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><ellipse cx="637" cy="290" rx="7" ry="7" fill="#ffffff" stroke="#000000" pointer-events="none"/><path d="M 640 280 Q 650 280 650 290 Q 650 300 640 300" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 310px; margin-left: 640px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; white-space: nowrap; ">Runnable</div></div></div></foreignObject><text x="640" y="314" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Run...</text></switch></g><path d="M 1470 106 L 1470 80 L 1630 80 L 1630 106" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 1470 106 L 1470 194 L 1630 194 L 1630 106" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 1470 106 L 1630 106" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="1549.5" y="97.5">ClientP2P</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-1474-111-152-54-0)" font-size="12px"><text x="1475.5" y="123.5">- String host</text><text x="1475.5" y="137.5">- int port</text><text x="1475.5" y="151.5">- String directory</text></g><path d="M 1470 164 L 1630 164" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-1474-173-152-26-0)" font-size="12px"><text x="1475.5" y="185.5">+ void main()</text></g><path d="M 1470 132.5 L 1470 140 L 1410 140" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="30" y="460" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 460px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; "><p style="margin: 0px ; margin-top: 4px ; text-align: center">java.net.DatagramSocket</p><hr size="1" /><div style="height: 2px"></div></div></div></div></foreignObject><text x="30" y="472" fill="#000000" font-family="Helvetica" font-size="12px">java.net.DatagramSocket&#xa;</text></switch></g><rect x="30" y="540" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 540px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.net.SocketException</div></div></div></foreignObject><text x="30" y="552" fill="#000000" font-family="Helvetica" font-size="12px">java.net.SocketException</text></switch></g><rect x="30" y="620" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 620px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.nio.file.Paths</div></div></div></foreignObject><text x="30" y="632" fill="#000000" font-family="Helvetica" font-size="12px">java.nio.file.Paths</text></switch></g><rect x="30" y="700" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 700px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.nio.file.Files</div></div></div></foreignObject><text x="30" y="712" fill="#000000" font-family="Helvetica" font-size="12px">java.nio.file.Files</text></switch></g><rect x="30" y="790" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 790px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.util.Arrays</div></div></div></foreignObject><text x="30" y="802" fill="#000000" font-family="Helvetica" font-size="12px">java.util.Arrays</text></switch></g><rect x="322" y="694" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 694px; margin-left: 322px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">InternalError</div></div></div></foreignObject><text x="322" y="706" fill="#000000" font-family="Helvetica" font-size="12px">InternalError</text></switch></g><rect x="322" y="464" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 464px; margin-left: 322px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">ProtocolError</div></div></div></foreignObject><text x="322" y="476" fill="#000000" font-family="Helvetica" font-size="12px">ProtocolError</text></switch></g><rect x="322" y="774" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 774px; margin-left: 322px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">SizeError</div></div></div></foreignObject><text x="322" y="786" fill="#000000" font-family="Helvetica" font-size="12px">SizeError</text></switch></g><rect x="322" y="534" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 534px; margin-left: 322px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">TransmissionError</div></div></div></foreignObject><text x="322" y="546" fill="#000000" font-family="Helvetica" font-size="12px">TransmissionError</text></switch></g><rect x="322" y="614" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 614px; margin-left: 322px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">VersionError</div></div></div></foreignObject><text x="322" y="626" fill="#000000" font-family="Helvetica" font-size="12px">VersionError</text></switch></g><rect x="650" y="472" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 472px; margin-left: 650px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; "><div>EmptyDirectory</div></div></div></div></foreignObject><text x="650" y="484" fill="#000000" font-family="Helvetica" font-size="12px">EmptyDirectory</text></switch></g><rect x="650" y="542" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 542px; margin-left: 650px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">EmptyFile</div></div></div></foreignObject><text x="650" y="554" fill="#000000" font-family="Helvetica" font-size="12px">EmptyFile</text></switch></g><rect x="650" y="622" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 622px; margin-left: 650px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">InternalRemoteError</div></div></div></foreignObject><text x="650" y="634" fill="#000000" font-family="Helvetica" font-size="12px">InternalRemoteError</text></switch></g><rect x="860" y="622" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 622px; margin-left: 860px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">NotFound</div></div></div></foreignObject><text x="860" y="634" fill="#000000" font-family="Helvetica" font-size="12px">NotFound</text></switch></g><rect x="860" y="542" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 542px; margin-left: 860px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">ProtocolRemoteError</div></div></div></foreignObject><text x="860" y="554" fill="#000000" font-family="Helvetica" font-size="12px">ProtocolRemoteError</text></switch></g><rect x="860" y="472" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 472px; margin-left: 860px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">VersionRemoteError</div></div></div></foreignObject><text x="860" y="484" fill="#000000" font-family="Helvetica" font-size="12px">VersionRemoteError</text></switch></g><path d="M 1220 460 L 1220 260 L 1357.5 260" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="1190" y="460" width="210" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 210px; height: 60px; padding-top: 460px; margin-left: 1190px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 210px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.net.InetAddress</div></div></div></foreignObject><text x="1190" y="472" fill="#000000" font-family="Helvetica" font-size="12px">java.net.InetAddress</text></switch></g><rect x="30" y="860" width="190" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 190px; height: 60px; padding-top: 860px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 190px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.io.IOException</div></div></div></foreignObject><text x="30" y="872" fill="#000000" font-family="Helvetica" font-size="12px">java.io.IOException</text></switch></g><path d="M 1400 550 L 1420 550 L 1420 260 L 1405 260" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="1190" y="530" width="210" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 210px; height: 60px; padding-top: 530px; margin-left: 1190px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 210px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.util.Scanner</div></div></div></foreignObject><text x="1190" y="542" fill="#000000" font-family="Helvetica" font-size="12px">java.util.Scanner</text></switch></g><path d="M 1400 640 L 1440 640 L 1440 240 L 1410 240 L 1410 250" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="1190" y="610" width="210" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 210px; height: 60px; padding-top: 610px; margin-left: 1190px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 210px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.io.File</div></div></div></foreignObject><text x="1190" y="622" fill="#000000" font-family="Helvetica" font-size="12px">java.io.File</text></switch></g><path d="M 1400 720 L 1460 720 L 1460 220 L 1410 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="1190" y="690" width="210" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 210px; height: 60px; padding-top: 690px; margin-left: 1190px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; width: 210px; height: 60px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: nowrap; ">java.net.UnknownHostException</div></div></div></foreignObject><text x="1190" y="702" fill="#000000" font-family="Helvetica" font-size="12px">java.net.UnknownHostException</text></switch></g><path d="M 540 26 L 540 0 L 790 0 L 790 26" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 540 26 L 540 248 L 790 248 L 790 26" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 540 26 L 790 26" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="664.5" y="17.5">Directories</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-544-31-242-54-0)" font-size="12px"><text x="545.5" y="43.5">+ String projectName</text><text x="545.5" y="57.5">+ String dataHomeDirectory</text><text x="545.5" y="71.5">+ String os</text></g><path d="M 540 84 L 790 84" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-544-93-242-80-0)" font-size="12px"><text x="545.5" y="105.5">+ Directories(String projectName)</text><text x="545.5" y="119.5">- setDataHomeDirectory()</text><text x="545.5" y="133.5">+ void getDataHomeDirectory()</text><text x="545.5" y="147.5">- void openDataHomeDirectory()</text><text x="545.5" y="161.5">+ void askOpenDataHomeDirectory()</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-544-173-242-80-0)" font-size="12px"><text x="545.5" y="185.5">+ Directories(String projectName)</text><text x="545.5" y="199.5">- setDataHomeDirectory()</text><text x="545.5" y="213.5">+ void getDataHomeDirectory()</text><text x="545.5" y="227.5">- void openDataHomeDirectory()</text><text x="545.5" y="241.5">+ void askOpenDataHomeDirectory()</text></g><path d="M 540 52.5 L 540 130 L 470 130" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 393 220 L 393 445" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 790 169.2 L 840 169.56" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 269.8 220.45 L 270 260" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 991.04 455 L 991.05 261.96" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/></g></svg>