<?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="380px" preserveAspectRatio="none" style="width:903px;height:380px;" version="1.1" viewBox="0 0 903 380" width="903px" zoomAndPan="magnify"><defs><filter height="300%" id="f1906w084e1job" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--cluster provider--><polygon fill="#FFFFFF" filter="url(#f1906w084e1job)" points="695,56.5,705,46.5,881,46.5,881,140.5,871,150.5,695,150.5,695,56.5" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="871" x2="880" y1="56.5" y2="47.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="695" x2="871" y1="56.5" y2="56.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="871" x2="871" y1="56.5" y2="150.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="750.5" y="72.4951">Provider</text><!--cluster model--><polygon fill="#FFFFFF" filter="url(#f1906w084e1job)" points="219,42,229,32,663,32,663,155,653,165,219,165,219,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="653" x2="662" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="219" x2="653" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="653" x2="653" y1="42" y2="165"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="47" x="413.5" y="57.9951">Model</text><!--cluster View--><polygon fill="#FFFFFF" filter="url(#f1906w084e1job)" points="30,48.5,40,38.5,179,38.5,179,148.5,169,158.5,30,158.5,30,48.5" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="169" x2="178" y1="48.5" y2="39.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="30" x2="169" y1="48.5" y2="48.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="169" x2="169" y1="48.5" y2="158.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="39" x="81" y="64.4951">View</text><!--class notProvider--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="711" y="86.5"/><ellipse cx="726" cy="102.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M728.9688,108.1406 Q728.3906,108.4375 727.75,108.5781 Q727.1094,108.7344 726.4063,108.7344 Q723.9063,108.7344 722.5781,107.0938 Q721.2656,105.4375 721.2656,102.3125 Q721.2656,99.1875 722.5781,97.5313 Q723.9063,95.875 726.4063,95.875 Q727.1094,95.875 727.75,96.0313 Q728.4063,96.1875 728.9688,96.4844 L728.9688,99.2031 Q728.3438,98.625 727.75,98.3594 Q727.1563,98.0781 726.5313,98.0781 Q725.1875,98.0781 724.5,99.1563 Q723.8125,100.2188 723.8125,102.3125 Q723.8125,104.4063 724.5,105.4844 Q725.1875,106.5469 726.5313,106.5469 Q727.1563,106.5469 727.75,106.2813 Q728.3438,106 728.9688,105.4219 L728.9688,108.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="740" y="106.6543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="712" x2="864" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712" x2="864" y1="126.5" y2="126.5"/><!--class notModel--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="60.8047" id="notModel" style="stroke: #A80036; stroke-width: 1.5;" width="233" x="406.5" y="80"/><ellipse cx="461.25" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M464.2188,101.6406 Q463.6406,101.9375 463,102.0781 Q462.3594,102.2344 461.6563,102.2344 Q459.1563,102.2344 457.8281,100.5938 Q456.5156,98.9375 456.5156,95.8125 Q456.5156,92.6875 457.8281,91.0313 Q459.1563,89.375 461.6563,89.375 Q462.3594,89.375 463,89.5313 Q463.6563,89.6875 464.2188,89.9844 L464.2188,92.7031 Q463.5938,92.125 463,91.8594 Q462.4063,91.5781 461.7813,91.5781 Q460.4375,91.5781 459.75,92.6563 Q459.0625,93.7188 459.0625,95.8125 Q459.0625,97.9063 459.75,98.9844 Q460.4375,100.0469 461.7813,100.0469 Q462.4063,100.0469 463,99.7813 Q463.5938,99.5 464.2188,98.9219 L464.2188,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="481.75" y="100.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="407.5" x2="638.5" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="407.5" x2="638.5" y1="120" y2="120"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="412.5" y="134.2104">update(NotificationsChangedParams *)</text><!--class guiProv--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="guiProv" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="262.5" y="86.5"/><ellipse cx="277.5" cy="102.5" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273.4219,98.2656 L273.4219,96.1094 L280.8125,96.1094 L280.8125,98.2656 L278.3438,98.2656 L278.3438,106.3438 L280.8125,106.3438 L280.8125,108.5 L273.4219,108.5 L273.4219,106.3438 L275.8906,106.3438 L275.8906,98.2656 L273.4219,98.2656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="77" x="291.5" y="106.6543">gui::Provider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="263.5" x2="370.5" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="263.5" x2="370.5" y1="126.5" y2="126.5"/><!--class ListView--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="73.5" y="86.5"/><ellipse cx="88.5" cy="102.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M91.4688,108.1406 Q90.8906,108.4375 90.25,108.5781 Q89.6094,108.7344 88.9063,108.7344 Q86.4063,108.7344 85.0781,107.0938 Q83.7656,105.4375 83.7656,102.3125 Q83.7656,99.1875 85.0781,97.5313 Q86.4063,95.875 88.9063,95.875 Q89.6094,95.875 90.25,96.0313 Q90.9063,96.1875 91.4688,96.4844 L91.4688,99.2031 Q90.8438,98.625 90.25,98.3594 Q89.6563,98.0781 89.0313,98.0781 Q87.6875,98.0781 87,99.1563 Q86.3125,100.2188 86.3125,102.3125 Q86.3125,104.4063 87,105.4844 Q87.6875,106.5469 89.0313,106.5469 Q89.6563,106.5469 90.25,106.2813 Q90.8438,106 91.4688,105.4219 L91.4688,108.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="102.5" y="106.6543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="153.5" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="153.5" y1="126.5" y2="126.5"/><!--class item--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="item" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="178.5" y="201"/><ellipse cx="193.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M196.4688,222.6406 Q195.8906,222.9375 195.25,223.0781 Q194.6094,223.2344 193.9063,223.2344 Q191.4063,223.2344 190.0781,221.5938 Q188.7656,219.9375 188.7656,216.8125 Q188.7656,213.6875 190.0781,212.0313 Q191.4063,210.375 193.9063,210.375 Q194.6094,210.375 195.25,210.5313 Q195.9063,210.6875 196.4688,210.9844 L196.4688,213.7031 Q195.8438,213.125 195.25,212.8594 Q194.6563,212.5781 194.0313,212.5781 Q192.6875,212.5781 192,213.6563 Q191.3125,214.7188 191.3125,216.8125 Q191.3125,218.9063 192,219.9844 Q192.6875,221.0469 194.0313,221.0469 Q194.6563,221.0469 195.25,220.7813 Q195.8438,220.5 196.4688,219.9219 L196.4688,222.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="207.5" y="221.1543">NotificationListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="328.5" y1="233" y2="233"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="328.5" y1="241" y2="241"/><!--class params--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="548.5" y="201"/><ellipse cx="563.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M566.4688,222.6406 Q565.8906,222.9375 565.25,223.0781 Q564.6094,223.2344 563.9063,223.2344 Q561.4063,223.2344 560.0781,221.5938 Q558.7656,219.9375 558.7656,216.8125 Q558.7656,213.6875 560.0781,212.0313 Q561.4063,210.375 563.9063,210.375 Q564.6094,210.375 565.25,210.5313 Q565.9063,210.6875 566.4688,210.9844 L566.4688,213.7031 Q565.8438,213.125 565.25,212.8594 Q564.6563,212.5781 564.0313,212.5781 Q562.6875,212.5781 562,213.6563 Q561.3125,214.7188 561.3125,216.8125 Q561.3125,218.9063 562,219.9844 Q562.6875,221.0469 564.0313,221.0469 Q564.6563,221.0469 565.25,220.7813 Q565.8438,220.5 566.4688,219.9219 L566.4688,222.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="577.5" y="221.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.5" x2="760.5" y1="233" y2="233"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.5" x2="760.5" y1="241" y2="241"/><!--class system--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="60.8047" id="system" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="594" y="309"/><ellipse cx="609" cy="325" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M604.9219,320.7656 L604.9219,318.6094 L612.3125,318.6094 L612.3125,320.7656 L609.8438,320.7656 L609.8438,328.8438 L612.3125,328.8438 L612.3125,331 L604.9219,331 L604.9219,328.8438 L607.3906,328.8438 L607.3906,320.7656 L604.9219,320.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="90" x="623" y="329.1543">APM Controller</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="715" y1="341" y2="341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="715" y1="349" y2="349"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="600" y="363.2104">sendAction(...)</text><!--link notProvider to params--><path d="M744.67,134.5 C744.67,134.5 744.67,195.63 744.67,195.63 " fill="none" id="notProvider-params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="744.67,200.63,748.67,191.63,744.67,195.63,740.67,191.63,744.67,200.63" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="707.6198" y="154.6558">use</text><!--link notModel to params--><path d="M594,141.18 C594,141.18 594,195.76 594,195.76 " fill="none" id="notModel-params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="594,200.76,598,191.76,594,195.76,590,191.76,594,200.76" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="582.7141" y="160.7959">use</text><!--link notModel to item--><path d="M453.83,141.18 C453.83,175.1 453.83,225 453.83,225 C453.83,225 334.55,225 334.55,225 " fill="none" id="notModel-item" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="329.55,225,338.55,229,334.55,225,338.55,221,329.55,225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="414.9481" y="160.7959">use</text><!--link ListView to item--><path d="M154.51,129 C177.71,129 202.25,129 202.25,129 C202.25,129 202.25,195.78 202.25,195.78 " fill="none" id="ListView-item" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="202.25,200.78,206.25,191.78,202.25,195.78,198.25,191.78,202.25,200.78" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="162.474" y="145.0583">use</text><!--link guiProv to notModel--><path d="M391.66,111 C391.66,111 406.31,111 406.31,111 " fill="none" id="guiProv-notModel" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="391.66,118,371.66,111,391.66,104,391.66,118" style="stroke: #A80036; stroke-width: 1.0;"/><!--link ListView to guiProv--><path d="M154.59,123 C154.59,123 257.25,123 257.25,123 " fill="none" id="ListView-guiProv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="262.25,123,253.25,119,257.25,123,253.25,127,262.25,123" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="162.5663" y="120.8427">use</text><!--link guiProv to ListView--><path d="M262.33,118 C262.33,118 159.59,118 159.59,118 " fill="none" id="guiProv-ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="154.59,118,163.59,122,159.59,118,163.59,114,154.59,118" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="231.6791" y="115.0746">use</text><!--link notProvider to system--><path d="M813.25,134.63 C813.25,193.55 813.25,340 813.25,340 C813.25,340 721.18,340 721.18,340 " fill="none" id="notProvider-system" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="716.18,340,725.18,344,721.18,340,725.18,336,716.18,340" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="793.6016" y="154.4229">use</text><!--link system to notModel--><path d="M593.76,340 C550.86,340 501.17,340 501.17,340 C501.17,340 501.17,146.45 501.17,146.45 " fill="none" id="system-notModel" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="501.17,141.45,497.17,150.45,501.17,146.45,505.17,150.45,501.17,141.45" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="562.8041" y="336.3192">use</text><!--link model to View--><!--link model to notProvider--><!--
@startuml
skinparam linetype ortho
node "Provider" as provider {
class "NotificationProvider" as notProvider
}
node "Model" as model{
class "NotificationsModel" as notModel{
{method} update(NotificationsChangedParams *)
}
interface "gui::Provider" as guiProv
}
node View {
class ListView
}
class "NotificationListItem" as item
class "NotificationsChangedParams" as params
interface "APM Controller" as system {
{method} sendAction(...)
}
notProvider "use"- -> params
notModel "use"- ->params
notModel "use"- ->item
ListView "use"- ->item
guiProv <|-r- - notModel
ListView "use"- ->guiProv
guiProv "use"- ->ListView
notProvider "use"-d- ->system
system "use"- -> notModel
model -[hidden]r- View
model -[hidden]d- notProvider
@enduml
PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.10+9-Ubuntu-0ubuntu1.20.04
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>