demo_doc/puml/metal/class-ex.svg
2021-06-25 21:37:59 +08:00

849 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="561.4583px" preserveAspectRatio="none" style="width:650px;height:561px;background:#00000000;" version="1.1" viewBox="0 0 650 561" width="650px" zoomAndPan="magnify"><defs><linearGradient id="g1mezpd982irdk0" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#CDCDCD"/><stop offset="100%" stop-color="#9A9A9A"/></linearGradient><linearGradient id="g1mezpd982irdk1" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#E5E4E2"/><stop offset="100%" stop-color="#B7B6B5"/></linearGradient><linearGradient id="g1mezpd982irdk2" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#EAE9E8"/><stop offset="100%" stop-color="#B7B6B5"/></linearGradient></defs><g><rect fill="url(#g1mezpd982irdk0)" height="52.4028" rx="4.1667" ry="4.1667" style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" width="340.625" x="147.3958" y="2.0833"/><text fill="#FDFDFD" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="307.2917" x="164.0625" y="36.5702">Class Diagram - metal theme</text><!--MD5=[b4fa10df80476353258f72a232547d63]
class AbstractList--><rect codeLine="10" fill="url(#g1mezpd982irdk1)" height="58.9417" id="AbstractList" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="122.9167" x="203.6458" y="311.7778"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="122.9167" x="203.6458" y="311.7778"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="122.9167" x="203.6458" y="346.2402"/><rect codeLine="10" fill="none" height="58.9417" id="AbstractList" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="122.9167" x="203.6458" y="311.7778"/><ellipse cx="218.2292" cy="332.9152" fill="#5CAD5C" rx="10.4167" ry="10.4167" style="stroke:#297A29;stroke-width:1.0416666666666667;"/><path d="M217.8223,329.8716 L216.9759,333.5988 L218.6849,333.5988 L217.8223,329.8716 Z M216.7318,328.2277 L218.929,328.2277 L221.3867,337.3423 L219.5801,337.3423 L219.0267,335.0962 L216.6178,335.0962 L216.0645,337.3423 L214.2578,337.3423 L216.7318,328.2277 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="75" x="240.1042" y="337.8866">AbstractList</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="204.6875" x2="325.5208" y1="354.0527" y2="354.0527"/><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="204.6875" x2="325.5208" y1="362.3861" y2="362.3861"/><!--MD5=[8e34b16d8d8f96f4a11290cd523ed859]
class AbstractCollection--><rect codeLine="11" fill="url(#g1mezpd982irdk1)" height="58.9417" id="AbstractCollection" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="159.375" x="7.2917" y="311.7778"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="159.375" x="7.2917" y="311.7778"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="159.375" x="7.2917" y="346.2402"/><rect codeLine="11" fill="none" height="58.9417" id="AbstractCollection" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="159.375" x="7.2917" y="311.7778"/><ellipse cx="21.875" cy="332.9152" fill="#5CAD5C" rx="10.4167" ry="10.4167" style="stroke:#297A29;stroke-width:1.0416666666666667;"/><path d="M21.4681,329.8716 L20.6217,333.5988 L22.3307,333.5988 L21.4681,329.8716 Z M20.3776,328.2277 L22.5749,328.2277 L25.0326,337.3423 L23.2259,337.3423 L22.6725,335.0962 L20.2637,335.0962 L19.7103,337.3423 L17.9036,337.3423 L20.3776,328.2277 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="111.4583" x="43.75" y="337.8866">AbstractCollection</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="8.3333" x2="165.625" y1="354.0527" y2="354.0527"/><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="8.3333" x2="165.625" y1="362.3861" y2="362.3861"/><!--MD5=[3d4177ac58b4411586d067f34e84928f]
class List--><rect codeLine="12" fill="url(#g1mezpd982irdk1)" height="58.9417" id="List" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="70.8333" x="222.3958" y="110.7361"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="70.8333" x="222.3958" y="110.7361"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="70.8333" x="222.3958" y="145.1986"/><rect codeLine="12" fill="none" height="58.9417" id="List" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="70.8333" x="222.3958" y="110.7361"/><ellipse cx="236.9792" cy="131.8736" fill="#C5673E" rx="10.4167" ry="10.4167" style="stroke:#92340B;stroke-width:1.0416666666666667;"/><path d="M233.8704,129.0415 L233.8704,127.4465 L239.2904,127.4465 L239.2904,129.0415 L237.4837,129.0415 L237.4837,134.966 L239.2904,134.966 L239.2904,136.5611 L233.8704,136.5611 L233.8704,134.966 L235.6771,134.966 L235.6771,129.0415 L233.8704,129.0415 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="22.9167" x="258.8542" y="136.8449">List</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="223.4375" x2="292.1875" y1="153.0111" y2="153.0111"/><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="223.4375" x2="292.1875" y1="161.3444" y2="161.3444"/><!--MD5=[c160724f8e3bb89ca8141a12554ac2e3]
class Collection--><rect codeLine="13" fill="url(#g1mezpd982irdk1)" height="58.9417" id="Collection" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="107.2917" x="71.875" y="110.7361"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="107.2917" x="71.875" y="110.7361"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="107.2917" x="71.875" y="145.1986"/><rect codeLine="13" fill="none" height="58.9417" id="Collection" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="107.2917" x="71.875" y="110.7361"/><ellipse cx="86.4583" cy="131.8736" fill="#C5673E" rx="10.4167" ry="10.4167" style="stroke:#92340B;stroke-width:1.0416666666666667;"/><path d="M83.3496,129.0415 L83.3496,127.4465 L88.7695,127.4465 L88.7695,129.0415 L86.9629,129.0415 L86.9629,134.966 L88.7695,134.966 L88.7695,136.5611 L83.3496,136.5611 L83.3496,134.966 L85.1563,134.966 L85.1563,129.0415 L83.3496,129.0415 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="59.375" x="108.3333" y="136.8449">Collection</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="72.9167" x2="178.125" y1="153.0111" y2="153.0111"/><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="72.9167" x2="178.125" y1="161.3444" y2="161.3444"/><!--MD5=[ab8871ed637f40707b866ba6597734bc]
class ArrayList--><rect codeLine="22" fill="url(#g1mezpd982irdk1)" height="120.1263" id="ArrayList" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="158.3333" x="185.9375" y="434.6944"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="158.3333" x="185.9375" y="434.6944"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="158.3333" x="185.9375" y="469.1569"/><rect codeLine="22" fill="none" height="120.1263" id="ArrayList" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="158.3333" x="185.9375" y="434.6944"/><ellipse cx="224.4271" cy="455.8319" fill="#CDCDCD" rx="10.4167" ry="10.4167" style="stroke:#9A9A9A;stroke-width:1.0416666666666667;"/><path d="M226.3314,460.259 Q225.9082,460.4706 225.4362,460.5845 Q224.9642,460.6984 224.4596,460.6984 Q222.6042,460.6984 221.6276,459.494 Q220.6673,458.2733 220.6673,455.9784 Q220.6673,453.6672 221.6276,452.4628 Q222.6042,451.2421 224.4596,451.2421 Q224.9642,451.2421 225.4362,451.356 Q225.9245,451.4537 226.3314,451.6815 L226.3314,453.6835 Q225.8757,453.2603 225.4362,453.065 Q224.9967,452.8534 224.541,452.8534 Q223.5482,452.8534 223.0436,453.6509 Q222.5391,454.4322 222.5391,455.9784 Q222.5391,457.5083 223.0436,458.2896 Q223.5482,459.0708 224.541,459.0708 Q224.9967,459.0708 225.4362,458.8755 Q225.8757,458.6802 226.3314,458.257 L226.3314,460.259 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="57.2917" x="251.6146" y="460.8032">ArrayList</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="186.9792" x2="343.2292" y1="476.9694" y2="476.9694"/><text fill="#4D4D4D" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="129.1667" x="200.5208" y="500.9893">Object[] elementData</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="186.9792" x2="343.2292" y1="515.8951" y2="515.8951"/><text fill="#4D4D4D" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="33.3333" x="200.5208" y="539.915">size()</text><!--MD5=[15b68e006199004da79ea2a4d117d8e9]
class TimeUnit--><rect codeLine="27" fill="url(#g1mezpd982irdk1)" height="150.7187" id="TimeUnit" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="104.1667" x="329.6875" y="64.9028"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="104.1667" x="329.6875" y="64.9028"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="104.1667" x="329.6875" y="99.3652"/><rect codeLine="27" fill="none" height="150.7187" id="TimeUnit" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="104.1667" x="329.6875" y="64.9028"/><ellipse cx="344.2708" cy="86.0402" fill="#FFDF33" rx="10.4167" ry="10.4167" style="stroke:#CCAC00;stroke-width:1.0416666666666667;"/><path d="M346.8099,90.7277 L341.1296,90.7277 L341.1296,81.6132 L346.8099,81.6132 L346.8099,83.2082 L342.9362,83.2082 L342.9362,85.1613 L346.4355,85.1613 L346.4355,86.7564 L342.9362,86.7564 L342.9362,89.1327 L346.8099,89.1327 L346.8099,90.7277 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="56.25" x="366.1458" y="91.0116">TimeUnit</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="330.7292" x2="432.8125" y1="107.1777" y2="107.1777"/><text fill="#4D4D4D" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="33.3333" x="344.2708" y="131.1976">DAYS</text><text fill="#4D4D4D" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="42.7083" x="344.2708" y="161.79">HOURS</text><text fill="#4D4D4D" font-family="Verdana" font-size="11.4583" lengthAdjust="spacing" textLength="54.1667" x="344.2708" y="192.3823">MINUTES</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="330.7292" x2="432.8125" y1="207.2881" y2="207.2881"/><!--MD5=[0c8287f799745f7b534bf75518604c1e]
class SuppressWarnings--><rect codeLine="33" fill="url(#g1mezpd982irdk1)" height="58.9417" id="SuppressWarnings" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="171.875" x="470.8333" y="110.7361"/><rect fill="url(#g1mezpd982irdk2)" height="42.275" rx="7.8125" ry="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="171.875" x="470.8333" y="110.7361"/><rect fill="url(#g1mezpd982irdk2)" height="7.8125" style="stroke:url(#g1mezpd982irdk2);stroke-width:1.0416666666666667;" width="171.875" x="470.8333" y="145.1986"/><rect codeLine="33" fill="none" height="58.9417" id="SuppressWarnings" rx="7.8125" ry="7.8125" style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" width="171.875" x="470.8333" y="110.7361"/><ellipse cx="485.4167" cy="131.8736" fill="#5C85AD" rx="10.4167" ry="10.4167" style="stroke:#29527A;stroke-width:1.0416666666666667;"/><path d="M486.6699,131.6783 Q486.6699,130.9784 486.3607,130.5878 Q486.0514,130.1971 485.498,130.1971 Q484.9609,130.1971 484.6517,130.5878 Q484.3424,130.9784 484.3424,131.6783 Q484.3424,132.3619 484.6517,132.7525 Q484.9609,133.1431 485.498,133.1431 Q486.0514,133.1431 486.3607,132.7525 Q486.6699,132.3619 486.6699,131.6783 Z M487.8092,134.1685 L486.6048,134.1685 L486.6048,133.6802 Q486.377,133.9895 486.0514,134.1522 Q485.7422,134.2987 485.3027,134.2987 Q484.3099,134.2987 483.6914,133.5826 Q483.0729,132.8501 483.0729,131.6783 Q483.0729,130.4901 483.6751,129.774 Q484.2936,129.0578 485.3027,129.0578 Q485.7422,129.0578 486.0677,129.2043 Q486.3932,129.3508 486.6048,129.6438 L486.6048,129.3996 Q486.6048,128.5695 486.1491,128.1138 Q485.6934,127.6581 484.8633,127.6581 Q483.5938,127.6581 482.7799,128.7811 Q481.9824,129.8879 481.9824,131.6783 Q481.9824,133.55 482.9102,134.6731 Q483.8379,135.7798 485.3841,135.7798 Q485.8724,135.7798 486.3281,135.6333 Q486.7839,135.4869 487.207,135.1939 L487.7604,136.2681 Q487.2721,136.6099 486.6862,136.7727 Q486.1003,136.9517 485.4492,136.9517 Q483.3008,136.9517 482.0313,135.5194 Q480.7617,134.1034 480.7617,131.6783 Q480.7617,129.3182 481.901,127.9022 Q483.0566,126.4862 484.9284,126.4862 Q486.263,126.4862 487.028,127.2837 Q487.8092,128.0813 487.8092,129.481 L487.8092,134.1685 Z " fill="#000000"/><text fill="#4682B4" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="123.9583" x="507.2917" y="136.8449">SuppressWarnings</text><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="471.875" x2="641.6667" y1="153.0111" y2="153.0111"/><line style="stroke:#B7B6B5;stroke-width:1.0416666666666667;" x1="471.875" x2="641.6667" y1="161.3444" y2="161.3444"/><!--MD5=[00308d07b6a5721fb0cf5861877e6652]
reverse link List to AbstractList--><path codeLine="15" d="M259.6354,191.2361 C261.0208,229.1319 262.8854,279.9861 264.0417,311.4548 " fill="none" id="List-backto-AbstractList" style="stroke:#E5E4E2;stroke-width:3.125;"/><polygon fill="none" points="252.3542,191.4861,258.875,170.3923,266.9271,190.9444,252.3542,191.4861" style="stroke:#E5E4E2;stroke-width:3.125;"/><text fill="#4D4D4D" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="114.5833" x="271.3542" y="269.1366">this is a message</text><!--MD5=[1822909749df1453bdd84de7a60a3406]
reverse link Collection to AbstractCollection--><path codeLine="16" d="M115.9271,190.9653 C108.5833,228.8923 98.6979,279.9132 92.5938,311.4548 " fill="none" id="Collection-backto-AbstractCollection" style="stroke:#E5E4E2;stroke-width:3.125;"/><polygon fill="none" points="108.7917,189.4653,119.9167,170.3923,123.1146,192.2361,108.7917,189.4653" style="stroke:#E5E4E2;stroke-width:3.125;"/><!--MD5=[0159284274f96a472eb2618ad803aaca]
reverse link Collection to List--><path codeLine="18" d="M200.4063,140.4236 C207.6771,140.4236 214.9479,140.4236 222.2188,140.4236 " fill="none" id="Collection-backto-List" style="stroke:#E5E4E2;stroke-width:3.125;"/><polygon fill="none" points="200.0938,147.7153,179.2604,140.4236,200.0938,133.1319,200.0938,147.7153" style="stroke:#E5E4E2;stroke-width:3.125;"/><!--MD5=[7a3a52e8f65ef1a8d8d29530ea5cd870]
reverse link AbstractCollection to AbstractList--><path codeLine="19" d="M188.0417,341.4653 C193.1667,341.4653 198.2813,341.4653 203.4063,341.4653 " fill="none" id="AbstractCollection-backto-AbstractList" style="stroke:#E5E4E2;stroke-width:3.125;"/><polygon fill="none" points="187.8333,348.7569,167,341.4653,187.8333,334.1736,187.8333,348.7569" style="stroke:#E5E4E2;stroke-width:3.125;"/><!--MD5=[40e4bb1af59cca28d4643aaff05088cc]
reverse link AbstractList to ArrayList--><path codeLine="20" d="M265.1042,392.434 C265.1042,405.9132 265.1042,420.6319 265.1042,434.559 " fill="none" id="AbstractList-backto-ArrayList" style="stroke:#E5E4E2;stroke-width:3.125;"/><polygon fill="none" points="257.8125,392.1007,265.1042,371.2673,272.3958,392.1007,257.8125,392.1007" style="stroke:#E5E4E2;stroke-width:3.125;"/><!--MD5=[c2100bd3318b2cd9b37690decab4a905]
@startuml
!$THEME = "metal"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
!$WHITE = "#fdfdfd"
!$GRAY_DARK = "#4d4d4d"
!$GRAY = "#737373"
!$LIGHT = "#f2f2f2"
!$DARK = "#4d4d4d"
!$SILVER = "#c0c0c0"
!$COPPER = "#B87333c"
!$STEELBLUE = "#4682b4"
!$LIGHTSTEELBLUE = "#B0C4DE"
!$LIGHTSTEELBLUE_DARK = "#8d9db2"
!$LIGHTSTEELBLUE_LIGHT = "#c0d0e5"
!$ALUMINUM = "#c9ced0"
!$ALUMINUM_DARK = "#a1a5a6"
!$ALUMINUM_LIGHT = "#d4d8d9"
!$BRONZE = "#CD7F32"
!$BRONZE_DARK = "#a46628"
!$BRONZE_LIGHT = "#d7995b"
!$GOLD = "#FFD700"
!$PLATINUM = "#E5E4E2"
!$RUST = "#B7410E"
!$FGCOLOR = $DARK
!$PRIMARY = $PLATINUM
!$PRIMARY_LIGHT = "#eae9e8"
!$PRIMARY_DARK = "#b7b6b5"
!$PRIMARY_TEXT = $STEELBLUE
!$SECONDARY = $SILVER
!$SECONDARY_LIGHT = "#cdcdcd"
!$SECONDARY_DARK = "#9a9a9a"
!$SECONDARY_TEXT = $WHITE
!$INFO = $STEELBLUE
!$INFO_LIGHT = "#5c85ad"
!$INFO_DARK = "#29527a"
!$INFO_TEXT = $WHITE
!$SUCCESS = "#339933"
!$SUCCESS_LIGHT = "#5cad5c"
!$SUCCESS_DARK = "#297a29"
!$SUCCESS_TEXT = $WHITE
!$WARNING = $GOLD
!$WARNING_LIGHT = "#ffdf33"
!$WARNING_DARK = "#ccac00"
!$WARNING_TEXT = $WHITE
!$DANGER = $RUST
!$DANGER_LIGHT = "#c5673e"
!$DANGER_DARK = "#92340b"
!$DANGER_TEXT = $WHITE
!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_DARK
BackgroundColor $PRIMARY-$PRIMARY_DARK
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 15
skinparam ParticipantPadding 30
skinparam BoxPadding 30
skinparam Padding 8
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 $WHITE
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
}
skinparam legend {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $SECONDARY_DARK
FontColor $PRIMARY_TEXT
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $PRIMARY
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $BRONZE
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK
DiamondBorderColor $SECONDARY_DARK
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
ParticipantBorderThickness 2
}
!endsub
!startsub actor
skinparam actor {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub arrow
skinparam arrow {
Thickness 3
Color $PRIMARY
FontColor $FGCOLOR
}
!endsub
!startsub sequence
skinparam sequence {
BorderColor $PRIMARY
TitleFontColor $WHITE
BackgroundColor $BGCOLOR
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $GRAY
BoxFontColor $DARK
LifeLineBorderColor $SECONDARY_DARK
LifeLineBorderThickness 3
LifeLineBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
GroupBorderColor $GRAY
GroupFontColor $DARK
GroupHeaderFontColor $INFO
GroupBackgroundColor $BGCOLOR
GroupBodyBackgroundColor $BGCOLOR
GroupHeaderBackgroundColor $BGCOLOR
DividerBackgroundColor $WHITE-$LIGHT
DividerBorderColor $GRAY
DividerBorderThickness 2
DividerFontColor $DARK
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $GRAY
ReferenceFontColor $DARK
ReferenceHeaderFontColor $INFO
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY_DARK
BackgroundColor $BGCOLOR
}
!endsub
!startsub collections
skinparam collections {
$primary_scheme()
}
!endsub
!startsub control
skinparam control {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub entity
skinparam entity {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub boundary
skinparam boundary {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub agent
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $LIGHTSTEELBLUE_LIGHT-$LIGHTSTEELBLUE_DARK
BorderColor $LIGHTSTEELBLUE_DARK
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
BorderColor $SECONDARY_DARK
FontColor $SECONDARY_TEXT
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $DANGER_LIGHT
BorderColor $DANGER
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $WARNING_LIGHT-$WARNING_DARK
BorderColor $WARNING_DARK
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $PRIMARY
FontColor $DARK
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor $DARK
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $DARK
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $LIGHT
BorderThickness 1
AttributeFontColor $WHITE
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
$primary_scheme()
BackgroundColor $WHITE-$LIGHT
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
$primary_scheme()
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $RUST
FontColor $RUST
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
StartColor $INFO
EndColor $INFO
AttributeFontColor $SECONDARY
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $INFO_LIGHT-$INFO_DARK
BorderColor $INFO
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
BorderColor $GRAY
FontColor $LIGHT
}
!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 false
skinparam roundcorner 15
skinparam ParticipantPadding 30
skinparam BoxPadding 30
skinparam Padding 8
skinparam ArrowColor #737373
skinparam stereotype {
CBackgroundColor #cdcdcd
CBorderColor #9a9a9a
ABackgroundColor #5cad5c
ABorderColor #297a29
IBackgroundColor #c5673e
IBorderColor #92340b
EBackgroundColor #ffdf33
EBorderColor #ccac00
NBackgroundColor #5c85ad
NBorderColor #29527a
}
skinparam title {
FontColor #fdfdfd
BorderColor #9a9a9a
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #cdcdcd-#9a9a9a
}
skinparam legend {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #9a9a9a
FontColor #4682b4
}
skinparam swimlane {
BorderColor #4682b4
BorderThickness 2
TitleBackgroundColor #cdcdcd-#c0c0c0
TitleFontColor #E5E4E2
}
skinparam activity {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BarColor #CD7F32
StartColor #4682b4
EndColor #4682b4
DiamondBackgroundColor #c0c0c0-#9a9a9a
DiamondBorderColor #9a9a9a
DiamondFontColor #fdfdfd
}
skinparam participant {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam arrow {
Thickness 3
Color #E5E4E2
FontColor #4d4d4d
}
skinparam sequence {
BorderColor #E5E4E2
TitleFontColor #fdfdfd
BackgroundColor transparent
StartColor #E5E4E2
EndColor #E5E4E2
BoxBackgroundColor transparent
BoxBorderColor #737373
BoxFontColor #4d4d4d
LifeLineBorderColor #9a9a9a
LifeLineBorderThickness 3
LifeLineBackgroundColor #cdcdcd-#9a9a9a
GroupBorderColor #737373
GroupFontColor #4d4d4d
GroupHeaderFontColor #4682b4
GroupBackgroundColor transparent
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #fdfdfd-#f2f2f2
DividerBorderColor #737373
DividerBorderThickness 2
DividerFontColor #4d4d4d
ReferenceBackgroundColor transparent
ReferenceBorderColor #737373
ReferenceFontColor #4d4d4d
ReferenceHeaderFontColor #4682b4
}
skinparam partition {
BorderColor #E5E4E2
FontColor #b7b6b5
BackgroundColor transparent
}
skinparam collections {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
skinparam control {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam entity {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam boundary {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
skinparam note {
BorderThickness 1
BackgroundColor #c0d0e5-#8d9db2
BorderColor #8d9db2
FontColor #fdfdfd
}
skinparam artifact {
BackgroundColor #cdcdcd-#9a9a9a
BorderColor #9a9a9a
FontColor #fdfdfd
}
skinparam component {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
skinparam interface {
BackgroundColor #c5673e
BorderColor #B7410E
FontColor #4d4d4d
}
skinparam storage {
BackgroundColor #ffdf33-#ccac00
BorderColor #ccac00
FontColor #fdfdfd
}
skinparam node {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #E5E4E2
FontColor #4d4d4d
}
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor #4d4d4d
}
skinparam database {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam class {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
HeaderBackgroundColor #eae9e8-#b7b6b5
StereotypeFontColor #4d4d4d
BorderThickness 1
AttributeFontColor #4d4d4d
AttributeFontSize 11
}
skinparam object {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
StereotypeFontColor #f2f2f2
BorderThickness 1
AttributeFontColor #fdfdfd
AttributeFontSize 11
}
skinparam usecase {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BorderThickness 2
StereotypeFontColor #E5E4E2
}
skinparam rectangle {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BackgroundColor #fdfdfd-#f2f2f2
BorderThickness 2
StereotypeFontColor #E5E4E2
}
skinparam package {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BackgroundColor #eae9e8-#E5E4E2
BorderThickness 2
}
skinparam folder {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #B7410E
FontColor #B7410E
BorderThickness 2
}
skinparam frame {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #4682b4
FontColor #4682b4
BorderThickness 2
}
skinparam state {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
StartColor #4682b4
EndColor #4682b4
AttributeFontColor #c0c0c0
AttributeFontSize 11
}
skinparam queue {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
skinparam card {
BackgroundColor #5c85ad-#29527a
BorderColor #4682b4
FontColor #fdfdfd
}
skinparam file {
BackgroundColor #cdcdcd-#9a9a9a
BorderColor #737373
FontColor #f2f2f2
}
skinparam stack {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
title Class Diagram - metal 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>