2021-06-25 21:37:59 +08:00

831 lines
30 KiB
XML

<?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="610.4167px" preserveAspectRatio="none" style="width:673px;height:610px;background:#00000000;" version="1.1" viewBox="0 0 673 610" width="673.9583px" zoomAndPan="magnify"><defs><filter height="300%" id="f1f9dfydq34m8b" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0833333333333335"/><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.166666666666667" dy="4.166666666666667" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter><linearGradient id="g1f9dfydq34m8b0" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#2196F3"/><stop offset="100%" stop-color="#1A78C2"/></linearGradient></defs><g><rect height="56.5694" rx="4.1667" ry="4.1667" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;fill:none;" width="448.9583" x="105.2083" y="2.0833"/><text fill="#2196F3" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="411.4583" x="123.9583" y="38.6536">Class Diagram - materia-outline theme</text><!--MD5=[b4fa10df80476353258f72a232547d63]
class AbstractList--><rect codeLine="10" filter="url(#f1f9dfydq34m8b)" height="63.1083" id="AbstractList" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="127.0833" x="207.8125" y="336.7778"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="127.0833" x="207.8125" y="336.7778"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="127.0833" x="207.8125" y="379.0527"/><rect codeLine="10" fill="none" height="63.1083" id="AbstractList" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="127.0833" x="207.8125" y="336.7778"/><ellipse cx="222.3958" cy="359.9986" fill="#70BF73" rx="10.4167" ry="10.4167" style="stroke:#3D8C40;stroke-width:1.0416666666666667;"/><path d="M221.9889,356.955 L221.1426,360.6822 L222.8516,360.6822 L221.9889,356.955 Z M220.8984,355.3111 L223.0957,355.3111 L225.5534,364.4257 L223.7467,364.4257 L223.1934,362.1796 L220.7845,362.1796 L220.2311,364.4257 L218.4245,364.4257 L220.8984,355.3111 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="75" x="246.3542" y="364.9699">AbstractList</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="208.8542" x2="333.8542" y1="383.2194" y2="383.2194"/><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="208.8542" x2="333.8542" y1="391.5527" y2="391.5527"/><!--MD5=[8e34b16d8d8f96f4a11290cd523ed859]
class AbstractCollection--><rect codeLine="11" filter="url(#f1f9dfydq34m8b)" height="63.1083" id="AbstractCollection" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="163.5417" x="7.2917" y="336.7778"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="163.5417" x="7.2917" y="336.7778"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="163.5417" x="7.2917" y="379.0527"/><rect codeLine="11" fill="none" height="63.1083" id="AbstractCollection" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="163.5417" x="7.2917" y="336.7778"/><ellipse cx="21.875" cy="359.9986" fill="#70BF73" rx="10.4167" ry="10.4167" style="stroke:#3D8C40;stroke-width:1.0416666666666667;"/><path d="M21.4681,356.955 L20.6217,360.6822 L22.3307,360.6822 L21.4681,356.955 Z M20.3776,355.3111 L22.5749,355.3111 L25.0326,364.4257 L23.2259,364.4257 L22.6725,362.1796 L20.2637,362.1796 L19.7103,364.4257 L17.9036,364.4257 L20.3776,355.3111 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="111.4583" x="45.8333" y="364.9699">AbstractCollection</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="8.3333" x2="169.7917" y1="383.2194" y2="383.2194"/><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="8.3333" x2="169.7917" y1="391.5527" y2="391.5527"/><!--MD5=[3d4177ac58b4411586d067f34e84928f]
class List--><rect codeLine="12" filter="url(#f1f9dfydq34m8b)" height="63.1083" id="List" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="75" x="226.5625" y="121.1528"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="75" x="226.5625" y="121.1528"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="75" x="226.5625" y="163.4277"/><rect codeLine="12" fill="none" height="63.1083" id="List" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="75" x="226.5625" y="121.1528"/><ellipse cx="241.1458" cy="144.3736" fill="#B7161C" rx="10.4167" ry="10.4167" style="stroke:#FFFFFF;stroke-width:1.0416666666666667;"/><path d="M238.0371,141.5415 L238.0371,139.9465 L243.457,139.9465 L243.457,141.5415 L241.6504,141.5415 L241.6504,147.466 L243.457,147.466 L243.457,149.0611 L238.0371,149.0611 L238.0371,147.466 L239.8438,147.466 L239.8438,141.5415 L238.0371,141.5415 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="22.9167" x="265.1042" y="149.3449">List</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="227.6042" x2="300.5208" y1="167.5944" y2="167.5944"/><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="227.6042" x2="300.5208" y1="175.9277" y2="175.9277"/><!--MD5=[c160724f8e3bb89ca8141a12554ac2e3]
class Collection--><rect codeLine="13" filter="url(#f1f9dfydq34m8b)" height="63.1083" id="Collection" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="111.4583" x="71.875" y="121.1528"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="111.4583" x="71.875" y="121.1528"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="111.4583" x="71.875" y="163.4277"/><rect codeLine="13" fill="none" height="63.1083" id="Collection" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="111.4583" x="71.875" y="121.1528"/><ellipse cx="86.4583" cy="144.3736" fill="#B7161C" rx="10.4167" ry="10.4167" style="stroke:#FFFFFF;stroke-width:1.0416666666666667;"/><path d="M83.3496,141.5415 L83.3496,139.9465 L88.7695,139.9465 L88.7695,141.5415 L86.9629,141.5415 L86.9629,147.466 L88.7695,147.466 L88.7695,149.0611 L83.3496,149.0611 L83.3496,147.466 L85.1563,147.466 L85.1563,141.5415 L83.3496,141.5415 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="59.375" x="110.4167" y="149.3449">Collection</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="72.9167" x2="182.2917" y1="167.5944" y2="167.5944"/><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="72.9167" x2="182.2917" y1="175.9277" y2="175.9277"/><!--MD5=[ab8871ed637f40707b866ba6597734bc]
class ArrayList--><rect codeLine="22" filter="url(#f1f9dfydq34m8b)" height="132.6263" id="ArrayList" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="162.5" x="190.1042" y="463.8611"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="162.5" x="190.1042" y="463.8611"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="162.5" x="190.1042" y="506.1361"/><rect codeLine="22" fill="none" height="132.6263" id="ArrayList" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="162.5" x="190.1042" y="463.8611"/><ellipse cx="228.5938" cy="487.0819" fill="#FFFFFF" rx="10.4167" ry="10.4167" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;"/><path d="M230.498,491.509 Q230.0749,491.7206 229.6029,491.8345 Q229.1309,491.9484 228.6263,491.9484 Q226.7708,491.9484 225.7943,490.744 Q224.834,489.5233 224.834,487.2284 Q224.834,484.9172 225.7943,483.7128 Q226.7708,482.4921 228.6263,482.4921 Q229.1309,482.4921 229.6029,482.606 Q230.0911,482.7037 230.498,482.9315 L230.498,484.9335 Q230.0423,484.5103 229.6029,484.315 Q229.1634,484.1034 228.7077,484.1034 Q227.7148,484.1034 227.2103,484.9009 Q226.7057,485.6822 226.7057,487.2284 Q226.7057,488.7583 227.2103,489.5396 Q227.7148,490.3208 228.7077,490.3208 Q229.1634,490.3208 229.6029,490.1255 Q230.0423,489.9302 230.498,489.507 L230.498,491.509 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="57.2917" x="257.8646" y="492.0532">ArrayList</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="191.1458" x2="351.5625" y1="510.3027" y2="510.3027"/><text fill="#222222" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="129.1667" x="206.7708" y="536.4059">Object[] elementData</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="191.1458" x2="351.5625" y1="553.3951" y2="553.3951"/><text fill="#222222" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="33.3333" x="206.7708" y="579.4983">size()</text><!--MD5=[15b68e006199004da79ea2a4d117d8e9]
class TimeUnit--><rect codeLine="27" filter="url(#f1f9dfydq34m8b)" height="167.3854" id="TimeUnit" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="108.3333" x="338.0208" y="69.0694"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="108.3333" x="338.0208" y="69.0694"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="108.3333" x="338.0208" y="111.3444"/><rect codeLine="27" fill="none" height="167.3854" id="TimeUnit" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="108.3333" x="338.0208" y="69.0694"/><ellipse cx="352.6042" cy="92.2902" fill="#FFAD33" rx="10.4167" ry="10.4167" style="stroke:#CC7A00;stroke-width:1.0416666666666667;"/><path d="M355.1432,96.9777 L349.4629,96.9777 L349.4629,87.8632 L355.1432,87.8632 L355.1432,89.4582 L351.2695,89.4582 L351.2695,91.4113 L354.7689,91.4113 L354.7689,93.0064 L351.2695,93.0064 L351.2695,95.3827 L355.1432,95.3827 L355.1432,96.9777 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="56.25" x="376.5625" y="97.2616">TimeUnit</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="339.0625" x2="445.3125" y1="115.5111" y2="115.5111"/><text fill="#222222" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="33.3333" x="354.6875" y="141.6143">DAYS</text><text fill="#222222" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="42.7083" x="354.6875" y="176.3733">HOURS</text><text fill="#222222" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="54.1667" x="354.6875" y="211.1323">MINUTES</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="339.0625" x2="445.3125" y1="228.1214" y2="228.1214"/><!--MD5=[0c8287f799745f7b534bf75518604c1e]
class SuppressWarnings--><rect codeLine="33" filter="url(#f1f9dfydq34m8b)" height="63.1083" id="SuppressWarnings" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;fill:none;" width="176.0417" x="483.3333" y="121.1528"/><rect fill="url(#g1f9dfydq34m8b0)" height="46.4417" rx="4.1667" ry="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="176.0417" x="483.3333" y="121.1528"/><rect fill="url(#g1f9dfydq34m8b0)" height="4.1667" style="stroke:url(#g1f9dfydq34m8b0);stroke-width:1.0416666666666667;" width="176.0417" x="483.3333" y="163.4277"/><rect codeLine="33" fill="none" height="63.1083" id="SuppressWarnings" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.0416666666666667;" width="176.0417" x="483.3333" y="121.1528"/><ellipse cx="497.9167" cy="144.3736" fill="#B052C0" rx="10.4167" ry="10.4167" style="stroke:#7D1F8D;stroke-width:1.0416666666666667;"/><path d="M499.1699,144.1783 Q499.1699,143.4784 498.8607,143.0878 Q498.5514,142.6971 497.998,142.6971 Q497.4609,142.6971 497.1517,143.0878 Q496.8424,143.4784 496.8424,144.1783 Q496.8424,144.8619 497.1517,145.2525 Q497.4609,145.6431 497.998,145.6431 Q498.5514,145.6431 498.8607,145.2525 Q499.1699,144.8619 499.1699,144.1783 Z M500.3092,146.6685 L499.1048,146.6685 L499.1048,146.1802 Q498.877,146.4895 498.5514,146.6522 Q498.2422,146.7987 497.8027,146.7987 Q496.8099,146.7987 496.1914,146.0826 Q495.5729,145.3501 495.5729,144.1783 Q495.5729,142.9901 496.1751,142.274 Q496.7936,141.5578 497.8027,141.5578 Q498.2422,141.5578 498.5677,141.7043 Q498.8932,141.8508 499.1048,142.1438 L499.1048,141.8996 Q499.1048,141.0695 498.6491,140.6138 Q498.1934,140.1581 497.3633,140.1581 Q496.0938,140.1581 495.2799,141.2811 Q494.4824,142.3879 494.4824,144.1783 Q494.4824,146.05 495.4102,147.1731 Q496.3379,148.2798 497.8841,148.2798 Q498.3724,148.2798 498.8281,148.1333 Q499.2839,147.9869 499.707,147.6939 L500.2604,148.7681 Q499.7721,149.1099 499.1862,149.2727 Q498.6003,149.4517 497.9492,149.4517 Q495.8008,149.4517 494.5313,148.0194 Q493.2617,146.6034 493.2617,144.1783 Q493.2617,141.8182 494.401,140.4022 Q495.5566,138.9862 497.4284,138.9862 Q498.763,138.9862 499.528,139.7837 Q500.3092,140.5813 500.3092,141.981 L500.3092,146.6685 Z " fill="#000000"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="123.9583" x="521.875" y="149.3449">SuppressWarnings</text><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="484.375" x2="658.3333" y1="167.5944" y2="167.5944"/><line style="stroke:#2196F3;stroke-width:1.0416666666666667;" x1="484.375" x2="658.3333" y1="175.9277" y2="175.9277"/><!--MD5=[00308d07b6a5721fb0cf5861877e6652]
reverse link List to AbstractList--><path codeLine="15" d="M265.8438,206.0173 C267.2396,246.9757 269.1354,302.6319 270.3021,336.7673 " fill="none" id="List-backto-AbstractList" style="stroke:#2196F3;stroke-width:3.125;"/><polygon fill="none" points="258.5417,206.0903,265.125,185.0173,273.125,205.5903,258.5417,206.0903" style="stroke:#2196F3;stroke-width:3.125;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="114.5833" x="279.6875" y="292.0532">this is a message</text><!--MD5=[1822909749df1453bdd84de7a60a3406]
reverse link Collection to AbstractCollection--><path codeLine="16" d="M118.2604,205.7361 C110.8646,246.7153 100.7813,302.559 94.6146,336.7673 " fill="none" id="Collection-backto-AbstractCollection" style="stroke:#2196F3;stroke-width:3.125;"/><polygon fill="none" points="111.125,204.2257,122,185.0173,125.4792,206.809,111.125,204.2257" style="stroke:#2196F3;stroke-width:3.125;"/><!--MD5=[0159284274f96a472eb2618ad803aaca]
reverse link Collection to List--><path codeLine="18" d="M204.6146,152.9236 C211.8542,152.9236 219.0938,152.9236 226.3333,152.9236 " fill="none" id="Collection-backto-List" style="stroke:#2196F3;stroke-width:3.125;"/><polygon fill="none" points="204.4063,160.2153,183.5729,152.9236,204.4063,145.6319,204.4063,160.2153" style="stroke:#2196F3;stroke-width:3.125;"/><!--MD5=[7a3a52e8f65ef1a8d8d29530ea5cd870]
reverse link AbstractCollection to AbstractList--><path codeLine="19" d="M192.0417,368.5486 C197.1667,368.5486 202.2917,368.5486 207.4271,368.5486 " fill="none" id="AbstractCollection-backto-AbstractList" style="stroke:#2196F3;stroke-width:3.125;"/><polygon fill="none" points="191.7813,375.8403,170.9479,368.5486,191.7813,361.2569,191.7813,375.8403" style="stroke:#2196F3;stroke-width:3.125;"/><!--MD5=[40e4bb1af59cca28d4643aaff05088cc]
reverse link AbstractList to ArrayList--><path codeLine="20" d="M271.3542,421.7778 C271.3542,435.1528 271.3542,449.7048 271.3542,463.6423 " fill="none" id="AbstractList-backto-ArrayList" style="stroke:#2196F3;stroke-width:3.125;"/><polygon fill="none" points="264.0625,421.5278,271.3542,400.6944,278.6458,421.5278,264.0625,421.5278" style="stroke:#2196F3;stroke-width:3.125;"/><!--MD5=[4d8a149dc826129de61a411f98f6ff40]
@startuml
!$THEME = "materia-outline"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
!$BLUE = "#2196F3"
!$INDIGO = "#6610f2"
!$PURPLE = "#6f42c1"
!$PINK = "#e83e8c"
!$RED = "#e51c23"
!$ORANGE = "#fd7e14"
!$YELLOW = "#ff9800"
!$GREEN = "#4CAF50"
!$TEAL = "#20c997"
!$CYAN = "#9C27B0"
!$WHITE = "#FFF"
!$GRAY_DARK = "#222"
!$GRAY = "#666"
!$PRIMARY = "#2196F3"
!$SECONDARY = "#fff"
!$SUCCESS = "#4CAF50"
!$INFO = "#9C27B0"
!$WARNING = "#ff9800"
!$DANGER = "#e51c23"
!$LIGHT = "#fff"
!$DARK = "#222"
!$FGCOLOR = $DARK
!$PRIMARY_LIGHT = "#4dabf5"
!$PRIMARY_DARK = "#1a78c2"
!$PRIMARY_TEXT = $PRIMARY
!$SECONDARY_LIGHT = "#fff"
!$SECONDARY_DARK = "#cccccc"
!$SECONDARY_TEXT = $SECONDARY_DARK
!$INFO_LIGHT = "#b052c0"
!$INFO_DARK = "#7D1F8D"
!$INFO_TEXT = $INFO
!$SUCCESS_LIGHT = "#70bf73"
!$SUCCESS_DARK = "#3D8C40"
!$SUCCESS_TEXT = $SUCCESS
!$WARNING_LIGHT = "#ffad33"
!$WARNING_DARK = "#CC7A00"
!$WARNING_TEXT = $WARNING
!$DANGER_LIGHT = "#B7161C"
!$DANGER_TEXT = $DANGER
!procedure $success($msg)
<font color=$SUCCESS><b>$msg
!endprocedure
!procedure $failure($msg)
<font color=$DANGER><b>$msg
!endprocedure
!procedure $warning($msg)
<font color=$WARNING><b>$msg
!endprocedure
!procedure $primary_scheme()
FontColor $PRIMARY_TEXT
BorderColor $PRIMARY
BackgroundColor $BGCOLOR
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 10
skinparam TitleFontColor $DARK
skinparam TitleFontSize 20
skinparam TitleBorderThickness 0
skinparam ArrowColor $GRAY
skinparam stereotype {
CBackgroundColor $SECONDARY_LIGHT
CBorderColor $SECONDARY_DARK
ABackgroundColor $SUCCESS_LIGHT
ABorderColor $SUCCESS_DARK
IBackgroundColor $DANGER_LIGHT
IBorderColor $DANGER_DARK
EBackgroundColor $WARNING_LIGHT
EBorderColor $WARNING_DARK
NBackgroundColor $INFO_LIGHT
NBorderColor $INFO_DARK
}
skinparam title {
FontColor $PRIMARY
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $BGCOLOR
}
skinparam legend {
BackgroundColor $BGCOLOR
BorderColor $SECONDARY_DARK
FontColor $DARK
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $PRIMARY
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $SUCCESS
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $BGCOLOR
DiamondBorderColor $SECONDARY_DARK
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
ParticipantBorderThickness 2
}
!endsub
!startsub actor
skinparam actor {
$primary_scheme()
}
!endsub
!startsub arrow
skinparam arrow {
Thickness 3
Color $PRIMARY
FontColor $FGCOLOR
}
!endsub
!startsub sequence
skinparam sequence {
BorderColor $PRIMARY
TitleFontColor $PRIMARY
BackgroundColor $BGCOLOR
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $GRAY
BoxFontColor $DARK
LifeLineBorderColor $SECONDARY_DARK
LifeLineBorderThickness 2
LifeLineBackgroundColor $BGCOLOR
GroupBorderColor $GRAY
GroupFontColor $DARK
GroupHeaderFontColor $INFO
GroupBackgroundColor $BGCOLOR
GroupBodyBackgroundColor $BGCOLOR
GroupHeaderBackgroundColor $BGCOLOR
DividerBackgroundColor $BGCOLOR
DividerBorderColor $GRAY
DividerBorderThickness 2
DividerFontColor $DARK
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $GRAY
ReferenceFontColor $DARK
ReferenceHeaderFontColor $INFO
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY
BackgroundColor $BGCOLOR
}
!endsub
!startsub collections
skinparam collections {
$primary_scheme()
}
!endsub
!startsub control
skinparam control {
$primary_scheme()
}
!endsub
!startsub entity
skinparam entity {
$primary_scheme()
}
!endsub
!startsub boundary
skinparam boundary {
$primary_scheme()
}
!endsub
!startsub agent
skinparam agent {
BackgroundColor $BGCOLOR
BorderColor #999999
FontColor #333333
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $BGCOLOR
BorderColor $INFO
FontColor $INFO
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $BGCOLOR
BorderColor $GRAY
FontColor $GRAY
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $BGCOLOR
BorderColor $DANGER
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $BGCOLOR
BorderColor $WARNING
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $BGCOLOR
BorderColor $DARK
FontColor $DARK
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor $DARK
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
FontColor $LIGHT
HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $DARK
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $SECONDARY_DARK
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
BackgroundColor $BGCOLOR
BorderColor $PRIMARY
FontColor $PRIMARY
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $BGCOLOR
BorderColor $WARNING
FontColor $WARNING
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $BGCOLOR
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
StartColor $INFO
EndColor $INFO
AttributeFontColor $SECONDARY_TEXT
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $BGCOLOR
BorderColor $INFO
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $BGCOLOR
BorderColor $GRAY
FontColor $GRAY
}
!endsub
!startsub stack
skinparam stack {
$primary_scheme()
}
!endsub
!if %variable_exists("$THEME")
title Class Diagram - $THEME theme
!else
title Class Diagram
!endif
'skinparam BackgroundColor transparent
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection
List <|- - AbstractList: this is a message
Collection <|- - AbstractCollection
Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|- - ArrayList
class ArrayList {
Object[] elementData
size()
}
enum TimeUnit {
DAYS
HOURS
MINUTES
}
annotation SuppressWarnings
@enduml
@startuml
skinparam backgroundColor transparent
skinparam useBetaStyle false
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 10
skinparam TitleFontColor #222
skinparam TitleFontSize 20
skinparam TitleBorderThickness 0
skinparam ArrowColor #666
skinparam stereotype {
CBackgroundColor #fff
CBorderColor #cccccc
ABackgroundColor #70bf73
ABorderColor #3D8C40
IBackgroundColor #B7161C
IBorderColor $DANGER_DARK
EBackgroundColor #ffad33
EBorderColor #CC7A00
NBackgroundColor #b052c0
NBorderColor #7D1F8D
}
skinparam title {
FontColor #2196F3
BorderColor #cccccc
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor transparent
}
skinparam legend {
BackgroundColor transparent
BorderColor #cccccc
FontColor #222
}
skinparam swimlane {
BorderColor #9C27B0
BorderThickness 2
TitleBackgroundColor #fff-#fff
TitleFontColor #2196F3
}
skinparam activity {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
BarColor #4CAF50
StartColor #9C27B0
EndColor #9C27B0
DiamondBackgroundColor transparent
DiamondBorderColor #cccccc
DiamondFontColor #cccccc
}
skinparam participant {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam arrow {
Thickness 3
Color #2196F3
FontColor #222
}
skinparam sequence {
BorderColor #2196F3
TitleFontColor #2196F3
BackgroundColor transparent
StartColor #2196F3
EndColor #2196F3
BoxBackgroundColor transparent
BoxBorderColor #666
BoxFontColor #222
LifeLineBorderColor #cccccc
LifeLineBorderThickness 2
LifeLineBackgroundColor transparent
GroupBorderColor #666
GroupFontColor #222
GroupHeaderFontColor #9C27B0
GroupBackgroundColor transparent
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor transparent
DividerBorderColor #666
DividerBorderThickness 2
DividerFontColor #222
ReferenceBackgroundColor transparent
ReferenceBorderColor #666
ReferenceFontColor #222
ReferenceHeaderFontColor #9C27B0
}
skinparam partition {
BorderColor #2196F3
FontColor #2196F3
BackgroundColor transparent
}
skinparam collections {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam control {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam entity {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam boundary {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam agent {
BackgroundColor transparent
BorderColor #999999
FontColor #333333
}
skinparam note {
BorderThickness 1
BackgroundColor transparent
BorderColor #9C27B0
FontColor #9C27B0
}
skinparam artifact {
BackgroundColor transparent
BorderColor #666
FontColor #666
}
skinparam component {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam interface {
BackgroundColor transparent
BorderColor #e51c23
FontColor #222
}
skinparam storage {
BackgroundColor transparent
BorderColor #ff9800
FontColor #ff9800
}
skinparam node {
BackgroundColor transparent
BorderColor #222
FontColor #222
}
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor #222
}
skinparam database {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam class {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
FontColor #fff
HeaderBackgroundColor #2196F3-#1a78c2
StereotypeFontColor #222
BorderThickness 1
AttributeFontColor #222
AttributeFontSize 11
}
skinparam object {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
StereotypeFontColor #222
BorderThickness 1
AttributeFontColor #cccccc
AttributeFontSize 11
}
skinparam usecase {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
BorderThickness 2
StereotypeFontColor #2196F3
}
skinparam rectangle {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
BorderThickness 2
StereotypeFontColor #2196F3
}
skinparam package {
BackgroundColor transparent
BorderColor #2196F3
FontColor #2196F3
BorderThickness 2
}
skinparam folder {
BackgroundColor transparent
BorderColor #ff9800
FontColor #ff9800
BorderThickness 2
}
skinparam frame {
BackgroundColor transparent
BorderColor #9C27B0
FontColor #9C27B0
BorderThickness 2
}
skinparam state {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
StartColor #9C27B0
EndColor #9C27B0
AttributeFontColor #cccccc
AttributeFontSize 11
}
skinparam queue {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
skinparam card {
BackgroundColor transparent
BorderColor #9C27B0
FontColor #9C27B0
}
skinparam file {
BackgroundColor transparent
BorderColor #666
FontColor #666
}
skinparam stack {
FontColor #2196F3
BorderColor #2196F3
BackgroundColor transparent
}
title Class Diagram - materia-outline theme
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection
List <|- - AbstractList: this is a message
Collection <|- - AbstractCollection
Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|- - ArrayList
class ArrayList {
Object[] elementData
size()
}
enum TimeUnit {
DAYS
HOURS
MINUTES
}
annotation SuppressWarnings
@enduml
PlantUML version 1.2021.01(Mon Feb 01 23:55:08 PST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>