Merge branch 'umlSvg'
15
buildUML/README.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Working with PlantUML
|
||||
These are temporary instructions, pending a move of more [diagrams and utilities](https://github.com/JetBrains/intellij-community/tree/master/platform/docs) from the IntelliJ Platform codebase.
|
||||
|
||||
* If you are unfamiliar with PlantUML, review the [quick start](https://plantuml.com/starting) instructions.
|
||||
* Install [Graphviz](https://plantuml.com/graphviz-dot) on your machine.
|
||||
* Get and install the [PlantUML Integration plugin](https://plugins.jetbrains.com/plugin/7017-plantuml-integration) for IntelliJ IDEA:
|
||||
* Set the `GRAPHVIZ_DOT` system or environment property to point to the directory containing the Graphviz executable on your machine.
|
||||
For example, `export GRAPHVIZ_DOT="/usr/local/Cellar/graphviz/2.42.3/bin/dot"`
|
||||
* In the PlantUML plugin Settings (**Preferences/Settings \| Other Settings \| PlantUML**) set:
|
||||
* The "Additional 'plantuml.include.path'" to be the absolute path to the directory containing the `jb-plantuml-theme.puml` file on your machine.
|
||||
For example, `/<path to sdk root>/buildUML` or, if you have the IntelliJ-Community source code, `/<path to intellij-community root>/platform/docs/`.
|
||||
* The "PlantUML config" to `!include jb-plantuml-theme.puml`
|
||||
|
||||
When a *.puml file is open in the IDE editor, the PlantUML Integration plugin will show a preview.
|
||||
To save a diagram in SVG format, change the file extension from the default PNG to SVG when saving the diagram from the preview window.
|
Before Width: | Height: | Size: 8.6 KiB |
@ -1,5 +1,4 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
hide empty members
|
||||
hide circle
|
||||
top to bottom direction
|
||||
|
46
reference_guide/img/connection.svg
Normal file
@ -0,0 +1,46 @@
|
||||
<?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="217px" preserveAspectRatio="none" style="width:281px;height:217px;" version="1.1" viewBox="0 0 281 217" width="281px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ieo8q2h74ejp" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[62ac8497b13c043b65381b6f7663a459]
|
||||
class MessageBus--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="MessageBus" style="stroke: #383838; stroke-width: 1.5;" width="89" x="93" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="96" y="26.5352">MessageBus</text><!--MD5=[5ec082c23ec24c6da48a0a09ba33c2f9]
|
||||
class MessageBusConnection--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="MessageBusConnection" style="stroke: #383838; stroke-width: 1.5;" width="168" x="53.5" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="162" x="56.5" y="112.5352">MessageBusConnection</text><!--MD5=[8877a16d0f905795619db580f65f8005]
|
||||
class DH--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="DH" style="stroke: #383838; stroke-width: 1.5;" width="113" x="6" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="9" y="198.5352">Default Handler</text><!--MD5=[6248ca3ba3593139a1835033a2c878c3]
|
||||
class TH--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="TH" style="stroke: #383838; stroke-width: 1.5;" width="116" x="154.5" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="157.5" y="198.5352">(Topic-Handler)</text><!--MD5=[2f9b0f036ad36751351f32062502d1bf]
|
||||
reverse link MessageBus to MessageBusConnection--><path d="M137.5,47.42 C137.5,62.87 137.5,81.89 137.5,93.99 " fill="none" id="MessageBus<-MessageBusConnection" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="137.5,34.04,133.5,40.04,137.5,46.04,141.5,40.04,137.5,34.04" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="9" x="126.6438" y="56.2542">1</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="129.0563" y="82.8585">*</text><!--MD5=[694b0ba889badc6ddf35d27abf73e2bf]
|
||||
reverse link MessageBusConnection to DH--><path d="M117.74,130.13 C103.49,146.09 84.8,167.02 73.23,179.99 " fill="none" id="MessageBusConnection<-DH" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="126.75,120.04,119.7705,121.853,118.7596,128.9929,125.7391,127.1799,126.75,120.04" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="26" x="46.2936" y="168.8585">0..1</text><!--MD5=[a5132fa3e16fbe2ae7d5791cc22442e3]
|
||||
reverse link MessageBusConnection to TH--><path d="M157.26,130.13 C171.51,146.09 190.2,167.02 201.77,179.99 " fill="none" id="MessageBusConnection<-TH" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="148.25,120.04,149.2609,127.1799,156.2404,128.9929,155.2295,121.853,148.25,120.04" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="188.9001" y="168.8585">*</text><!--MD5=[b58aa49172ce2323d0ee656e8e74ed8a]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
hide empty members
|
||||
hide circle
|
||||
top to bottom direction
|
||||
|
||||
|
||||
class MessageBus
|
||||
class MessageBusConnection
|
||||
class "Default Handler" as DH
|
||||
class "(Topic-Handler)" as TH
|
||||
|
||||
MessageBus "1" o- - "*" MessageBusConnection
|
||||
MessageBusConnection o- - "0..1" DH
|
||||
MessageBusConnection *- - "*" TH
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 7.1 KiB |
@ -1,10 +1,8 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
hide empty members
|
||||
hide circle
|
||||
top to bottom direction
|
||||
|
||||
|
||||
' Define the objects in the diagram
|
||||
class "bus" as B
|
||||
|
52
reference_guide/img/nested_config.svg
Normal file
@ -0,0 +1,52 @@
|
||||
<?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="217px" preserveAspectRatio="none" style="width:272px;height:217px;" version="1.1" viewBox="0 0 272 217" width="272px" zoomAndPan="magnify"><defs><filter height="300%" id="flxjwaxnzvwzg" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[69c451c751c414e37549b782190fef46]
|
||||
class B--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="B" style="stroke: #383838; stroke-width: 1.5;" width="31" x="117.5" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="120.5" y="26.5352">bus</text><!--MD5=[926f502e143d9ea62a9e3ce25d7b4f6f]
|
||||
class C1--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="C1" style="stroke: #383838; stroke-width: 1.5;" width="91" x="20.5" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="23.5" y="112.5352">connection1</text><!--MD5=[7a6ae922897b32380e18008d17b1b0ef]
|
||||
class C2--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="C2" style="stroke: #383838; stroke-width: 1.5;" width="91" x="155.5" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="158.5" y="112.5352">connection2</text><!--MD5=[ff7477c05a4730a20b075d2da276f30b]
|
||||
class TH1--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="TH1" style="stroke: #383838; stroke-width: 1.5;" width="110" x="6" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="9" y="198.5352">topic-handler1</text><!--MD5=[4c45aca55c8e2764fd8117a16b309977]
|
||||
class TH2--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="TH2" style="stroke: #383838; stroke-width: 1.5;" width="110" x="151" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="154" y="198.5352">topic-handler2</text><!--MD5=[5abb68ef7a7f90cc1b51845dea6e069f]
|
||||
reverse link B to C1--><path d="M114.98,44.59 C102.3,60.49 85.82,81.15 75.58,93.99 " fill="none" id="B<-C1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="123.4,34.04,116.5299,36.2311,115.9101,43.4156,122.7802,41.2244,123.4,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[0ee95caecf4a1a8ef3cc171bfc43413c]
|
||||
reverse link B to C2--><path d="M151.29,44.59 C164.16,60.49 180.88,81.15 191.28,93.99 " fill="none" id="B<-C2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="142.74,34.04,143.4042,41.2205,150.2877,43.3691,149.6236,36.1886,142.74,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[5d46ac34b92e80d9aff51a38fec452c6]
|
||||
reverse link C1 to TH1--><path d="M64.49,133.42 C63.57,148.87 62.43,167.89 61.72,179.99 " fill="none" id="C1<-TH1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="65.28,120.04,60.9309,125.792,64.5676,132.0188,68.9167,126.2669,65.28,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[451bd3fd46f9c7411704c3f16b961f36]
|
||||
reverse link C2 to TH2--><path d="M202.51,133.42 C203.43,148.87 204.57,167.89 205.28,179.99 " fill="none" id="C2<-TH2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="201.72,120.04,198.0833,126.2669,202.4324,132.0188,206.0691,125.792,201.72,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[02e4f7af3af7a3cc615eb74f50574e98]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
hide empty members
|
||||
hide circle
|
||||
top to bottom direction
|
||||
|
||||
class "bus" as B
|
||||
|
||||
class "connection1" as C1
|
||||
class "connection2" as C2
|
||||
|
||||
class "topic-handler1" as TH1
|
||||
class "topic-handler2" as TH2
|
||||
|
||||
B *- - C1
|
||||
B *- - C2
|
||||
|
||||
C1 *- - TH1
|
||||
C2 *- - TH2
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 14 KiB |
@ -1,10 +1,8 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
hide empty members
|
||||
hide circle
|
||||
top to bottom direction
|
||||
|
||||
|
||||
' Define the objects in the diagram
|
||||
class "application bus" as AB
|
||||
class "project bus" as PB
|
||||
@ -27,5 +25,4 @@ C1 *-- T1H1
|
||||
|
||||
C2 *-- T1H2
|
||||
C3 *-- T1H3
|
||||
|
||||
@enduml
|
65
reference_guide/img/parent_child_broadcast.svg
Normal file
@ -0,0 +1,65 @@
|
||||
<?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="303px" preserveAspectRatio="none" style="width:423px;height:303px;" version="1.1" viewBox="0 0 423 303" width="423px" zoomAndPan="magnify"><defs><filter height="300%" id="f115d3lj2jz7rn" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[cd07344a80c53f6735430047176be71f]
|
||||
class AB--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="AB" style="stroke: #383838; stroke-width: 1.5;" width="111" x="222" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="105" x="225" y="26.5352">application bus</text><!--MD5=[562978db86ac36b29d57db113b203393]
|
||||
class PB--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="PB" style="stroke: #383838; stroke-width: 1.5;" width="83" x="171" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="174" y="112.5352">project bus</text><!--MD5=[926f502e143d9ea62a9e3ce25d7b4f6f]
|
||||
class C1--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="C1" style="stroke: #383838; stroke-width: 1.5;" width="91" x="298" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="301" y="112.5352">connection1</text><!--MD5=[7a6ae922897b32380e18008d17b1b0ef]
|
||||
class C2--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="C2" style="stroke: #383838; stroke-width: 1.5;" width="91" x="34" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="37" y="198.5352">connection2</text><!--MD5=[bea21b96b087d2a6cd694f21a9e60e60]
|
||||
class C3--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="C3" style="stroke: #383838; stroke-width: 1.5;" width="91" x="167" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="170" y="198.5352">connection3</text><!--MD5=[3119829b56730b205615da85fbee2fd5]
|
||||
class T1H1--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="T1H1" style="stroke: #383838; stroke-width: 1.5;" width="119" x="293" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="296" y="198.5352">topic1-handler1</text><!--MD5=[cbe9cf75be102b01d481a458d073720d]
|
||||
class T1H2--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="T1H2" style="stroke: #383838; stroke-width: 1.5;" width="119" x="6" y="266"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="9" y="284.5352">topic1-handler2</text><!--MD5=[6d68aa1aef529b2011d6536b7dc28f2e]
|
||||
class T1H3--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="T1H3" style="stroke: #383838; stroke-width: 1.5;" width="119" x="160" y="266"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="163" y="284.5352">topic1-handler3</text><!--MD5=[b34b903977778f6e15b67d5d61f7d5e9]
|
||||
reverse link AB to PB--><path d="M260.02,44.59 C247.72,60.49 231.73,81.15 221.8,93.99 " fill="none" id="AB<-PB" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="268.19,34.04,261.3549,36.3381,260.8474,43.5314,267.6825,41.2332,268.19,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[adeab773214358b4ec5fc8a9ab419ebc]
|
||||
reverse link AB to C1--><path d="M295.25,44.59 C307.74,60.49 323.97,81.15 334.06,93.99 " fill="none" id="AB<-C1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="286.96,34.04,287.5181,41.2295,294.3692,43.4795,293.8111,36.29,286.96,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[02ae765cdd6f37931dacef091dd941fa]
|
||||
reverse link PB to C2--><path d="M182.45,126.98 C156.71,143.24 120.43,166.15 98.52,179.99 " fill="none" id="PB<-C2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="193.44,120.04,186.231,119.8641,183.296,126.4509,190.505,126.6268,193.44,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[ef9f97f6182d99c2a922b717bc2d5146]
|
||||
reverse link PB to C3--><path d="M212.5,133.42 C212.5,148.87 212.5,167.89 212.5,179.99 " fill="none" id="PB<-C3" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="212.5,120.04,208.5,126.04,212.5,132.04,216.5,126.04,212.5,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[450b28281f7b85415e09b5c7f2cd02c5]
|
||||
reverse link C1 to T1H1--><path d="M346.22,133.42 C347.88,148.87 349.92,167.89 351.21,179.99 " fill="none" id="C1<-T1H1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="344.79,120.04,341.4522,126.4321,346.0689,131.9717,349.4067,125.5795,344.79,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[ee8db070aa383ed8f24504308525533d]
|
||||
reverse link C2 to T1H2--><path d="M75.34,218.94 C72.75,234.48 69.54,253.77 67.5,265.99 " fill="none" id="C2<-T1H2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="77.49,206.04,72.5552,211.2981,75.5108,217.8757,80.4456,212.6176,77.49,206.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[7e297d0e187f42122b737afea7d4ddd4]
|
||||
reverse link C3 to T1H3--><path d="M214.62,219.42 C215.91,234.87 217.49,253.89 218.5,265.99 " fill="none" id="C3<-T1H3" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="213.5,206.04,210.015,212.353,214.502,217.9981,217.987,211.685,213.5,206.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[891360ff0616a82d54b0a01a14f4fe6a]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
hide empty members
|
||||
hide circle
|
||||
top to bottom direction
|
||||
|
||||
class "application bus" as AB
|
||||
class "project bus" as PB
|
||||
class "connection1" as C1
|
||||
|
||||
class "connection2" as C2
|
||||
class "connection3" as C3
|
||||
class "topic1-handler1" as T1H1
|
||||
|
||||
class "topic1-handler2" as T1H2
|
||||
class "topic1-handler3" as T1H3
|
||||
|
||||
AB o- - PB
|
||||
AB *- - C1
|
||||
|
||||
PB *- - C2
|
||||
PB *- - C3
|
||||
C1 *- - T1H1
|
||||
|
||||
C2 *- - T1H2
|
||||
C3 *- - T1H3
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 13 KiB |
@ -1,5 +1,4 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
left to right direction
|
||||
|
||||
' Define the activity
|
||||
|
38
reference_guide/img/publish.svg
Normal file
@ -0,0 +1,38 @@
|
||||
<?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="121px" preserveAspectRatio="none" style="width:712px;height:121px;" version="1.1" viewBox="0 0 712 121" width="712px" zoomAndPan="magnify"><defs><filter height="300%" id="f1qiawlhfa818j" 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><ellipse cx="16" cy="59" fill="#000000" filter="url(#f1qiawlhfa818j)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="52.9766" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="114" x="66" y="32.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="79.5" y="56.0352">Get message</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="76" y="72.5234">bus reference</text><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="69.4648" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="133" x="220" y="24.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="246.5" y="48.0352">Ask the bus</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="235.5" y="64.5234">for a particular</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="230" y="81.0117">topic's publisher</text><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="69.4648" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="95" x="393" y="24.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="405" y="48.0352">Call target</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="403" y="64.5234">method on</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="65" x="408" y="81.0117">publisher</text><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="102.4414" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="113" x="528" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="73" x="548" y="31.5352">Messaging</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="56" x="556.5" y="48.0234">calls the</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="538" y="64.5117">same method</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="63" x="553" y="81">on target</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="60" x="554.5" y="97.4883">handlers</text><ellipse cx="691" cy="59" fill="none" filter="url(#f1qiawlhfa818j)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="691.5" cy="59.5" fill="#000000" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><!--MD5=[db7bc576abd41ebbc81687471622818c]
|
||||
link start to Get message\nbus reference--><path d="M26.32,59 C34.54,59 47.3,59 60.86,59 " fill="none" id="start->Get message\nbus reference" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="65.88,59,56.88,55,60.88,59,56.88,63,65.88,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[97ec6985a6323c4c4cd3376c8b0065a9]
|
||||
link Get message\nbus reference to Ask the bus\nfor a particular\ntopic's publisher--><path d="M180.03,59 C191.17,59 203.01,59 214.57,59 " fill="none" id="Get message\nbus reference->Ask the bus\nfor a particular\ntopic's publisher" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="219.86,59,210.86,55,214.86,59,210.86,63,219.86,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[3cc530e465bc010462a36a11e15e380c]
|
||||
link Ask the bus\nfor a particular\ntopic's publisher to Call target\nmethod on\npublisher--><path d="M353.29,59 C364.84,59 376.71,59 387.8,59 " fill="none" id="Ask the bus\nfor a particular\ntopic's publisher->Call target\nmethod on\npublisher" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="392.84,59,383.84,55,387.84,59,383.84,63,392.84,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[540c37973707ace5e2cda49c4a5db4fe]
|
||||
link Call target\nmethod on\npublisher to Messaging\ncalls the\nsame method\non target\nhandlers--><path d="M488.39,59 C499.32,59 511.11,59 522.55,59 " fill="none" id="Call target\nmethod on\npublisher->Messaging\ncalls the\nsame method\non target\nhandlers" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="527.78,59,518.78,55,522.78,59,518.78,63,527.78,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[ddd16144f23f8b64b933762bd4135676]
|
||||
link Messaging\ncalls the\nsame method\non target\nhandlers to end--><path d="M641.12,59 C653.87,59 666.36,59 675.52,59 " fill="none" id="Messaging\ncalls the\nsame method\non target\nhandlers->end" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="680.77,59,671.7815,54.9743,675.77,58.9857,671.7586,62.9743,680.77,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[1b1780b41fbe3be593bebb2036e3d7ef]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
left to right direction
|
||||
|
||||
(*) - -> "Get message\nbus reference"
|
||||
- -> "Ask the bus\nfor a particular\ntopic's publisher"
|
||||
- -> "Call target\nmethod on\npublisher"
|
||||
- -> "Messaging\ncalls the\nsame method\non target\nhandlers"
|
||||
- -> (*)
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 3.0 KiB |
@ -1,5 +1,4 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
hide empty members
|
||||
hide circle
|
||||
left to right direction
|
41
reference_guide/img/standard_hierarchy.svg
Normal file
@ -0,0 +1,41 @@
|
||||
<?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="49px" preserveAspectRatio="none" style="width:418px;height:49px;" version="1.1" viewBox="0 0 418 49" width="418px" zoomAndPan="magnify"><defs><filter height="300%" id="f332uld9n4kk6" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[cd07344a80c53f6735430047176be71f]
|
||||
class AB--><rect fill="#F8F8F8" filter="url(#f332uld9n4kk6)" height="26.4883" id="AB" style="stroke: #383838; stroke-width: 1.5;" width="111" x="6" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="105" x="9" y="26.5352">application bus</text><!--MD5=[562978db86ac36b29d57db113b203393]
|
||||
class PB--><rect fill="#F8F8F8" filter="url(#f332uld9n4kk6)" height="26.4883" id="PB" style="stroke: #383838; stroke-width: 1.5;" width="83" x="177" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="180" y="26.5352">project bus</text><!--MD5=[2916ee572578080aeed684cfcd51fe32]
|
||||
class MB--><rect fill="#F8F8F8" filter="url(#f332uld9n4kk6)" height="26.4883" id="MB" style="stroke: #383838; stroke-width: 1.5;" width="87" x="320" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="323" y="26.5352">module bus</text><!--MD5=[b34b903977778f6e15b67d5d61f7d5e9]
|
||||
reverse link AB to PB--><path d="M130.32,21 C146.24,21 162.7,21 176.98,21 " fill="none" id="AB<-PB" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="117.15,21,123.15,25,129.15,21,123.15,17,117.15,21" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="161.9608" y="35.9602">*</text><!--MD5=[d4275642ac8e9423a6422f9e799928f6]
|
||||
reverse link PB to MB--><path d="M273.24,21 C288.62,21 305.18,21 319.81,21 " fill="none" id="PB<-MB" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="260.1,21,266.1,25,272.1,21,266.1,17,260.1,21" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="304.9942" y="35.8602">*</text><!--MD5=[8417eed2b647e8dd5b66ac41dafce44e]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
hide empty members
|
||||
hide circle
|
||||
left to right direction
|
||||
|
||||
class "application bus" as AB
|
||||
class "project bus" as PB
|
||||
class "module bus" as MB
|
||||
|
||||
AB o- - "*" PB
|
||||
PB o- - "*" MB
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 14 KiB |
@ -1,5 +1,4 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
left to right direction
|
||||
|
||||
' Define the activity
|
||||
@ -11,5 +10,4 @@ else
|
||||
--> [have connection] "Subscribe"
|
||||
endif
|
||||
--> (*)
|
||||
|
||||
@enduml
|
||||
|
42
reference_guide/img/subscribe.svg
Normal file
@ -0,0 +1,42 @@
|
||||
<?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="109px" preserveAspectRatio="none" style="width:897px;height:109px;" version="1.1" viewBox="0 0 897 109" width="897px" zoomAndPan="magnify"><defs><filter height="300%" id="fdln4uiboadgg" 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><ellipse cx="16" cy="75" fill="#000000" filter="url(#fdln4uiboadgg)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#F8F8F8" filter="url(#fdln4uiboadgg)" points="79,63,91,75,79,87,67,75,79,63" style="stroke: #383838; stroke-width: 1.5;"/><rect fill="#F8F8F8" filter="url(#fdln4uiboadgg)" height="52.9766" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="114" x="284" y="8.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="297.5" y="32.0352">Get message</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="294" y="48.5234">bus reference</text><rect fill="#F8F8F8" filter="url(#fdln4uiboadgg)" height="52.9766" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="145" x="552" y="8.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="125" x="562" y="32.0352">Create connection</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="69" x="590" y="48.5234">to the bus</text><rect fill="#F8F8F8" filter="url(#fdln4uiboadgg)" height="36.4883" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="87" x="738" y="62"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="748" y="85.5352">Subscribe</text><ellipse cx="876" cy="80" fill="none" filter="url(#fdln4uiboadgg)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="876.5" cy="80.5" fill="#000000" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><!--MD5=[15135c0701b46fe61dd2d2e8eac44cb3]
|
||||
link start to #118--><path d="M26,75 C35.34,75 50.16,75 61.59,75 " fill="none" id="start->#118" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="66.89,75,57.89,71,61.89,75,57.89,79,66.89,75" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="0" x="58.9531" y="93.1725"/><!--MD5=[e601120d78014dd199bf06f550140f6f]
|
||||
link #118 to Get message\nbus reference--><path d="M89.56,73.53 C119.73,68.89 214.66,54.28 278.58,44.45 " fill="none" id="#118->Get message\nbus reference" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="283.9,43.63,274.3981,41.0388,278.9576,44.3871,275.6094,48.9466,283.9,43.63" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="112" y="43.5352">don't have connection</text><!--MD5=[e6e995dc7ca7c46e7a5add9ba0a5c4d7]
|
||||
link Get message\nbus reference to Create connection\nto the bus--><path d="M398.29,35 C440.86,35 499.79,35 546.69,35 " fill="none" id="Get message\nbus reference->Create connection\nto the bus" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="551.77,35,542.77,31,546.77,35,542.77,39,551.77,35" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[10d386b9872602d0e8aed9cde3a7a12f]
|
||||
link Create connection\nto the bus to Subscribe--><path d="M697.1,55.79 C709.32,59.33 721.73,62.94 733.11,66.24 " fill="none" id="Create connection\nto the bus->Subscribe" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="737.93,67.64,730.3926,61.3007,733.1262,66.2532,728.1737,68.9868,737.93,67.64" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[3902186ca2a054370c6e1ae1830913a3]
|
||||
link #118 to Subscribe--><path d="M91,75.08 C164.73,75.6 588.33,78.63 732.48,79.66 " fill="none" id="#118->Subscribe" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="737.9,79.7,728.9346,75.623,732.9002,79.6571,728.866,83.6227,737.9,79.7" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="419" y="73.5352">have connection</text><!--MD5=[66353aef4f4573c09dd245c4b2d80a44]
|
||||
link Subscribe to end--><path d="M825.23,80 C837.89,80 850.91,80 860.45,80 " fill="none" id="Subscribe->end" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="865.64,80,856.64,76,860.64,80,856.64,84,865.64,80" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[7fad79b176e06d19fc86b2d1ba2ebbd0]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
left to right direction
|
||||
|
||||
(*) - -> if "" then
|
||||
- -> [don't have connection] "Get message\nbus reference"
|
||||
- -> "Create connection\nto the bus"
|
||||
- -> "Subscribe"
|
||||
else
|
||||
- -> [have connection] "Subscribe"
|
||||
endif
|
||||
- -> (*)
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 5.8 KiB |
@ -1,5 +1,4 @@
|
||||
@startuml
|
||||
!include ../../buildUML/jb-plantuml-theme.puml
|
||||
skinparam classAttributeIconSize 0
|
||||
hide empty fields
|
||||
hide empty methods
|
||||
|
45
reference_guide/img/topic.svg
Normal file
@ -0,0 +1,45 @@
|
||||
<?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="106px" preserveAspectRatio="none" style="width:441px;height:106px;" version="1.1" viewBox="0 0 441 106" width="441px" zoomAndPan="magnify"><defs><filter height="300%" id="f1a5f7qxp0anyk" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[1d7f89d46fe5890de77e49145f8259d3]
|
||||
class Topic--><rect fill="#F8F8F8" filter="url(#f1a5f7qxp0anyk)" height="70.9766" id="Topic" style="stroke: #383838; stroke-width: 1.5;" width="244" x="6" y="16"/><ellipse cx="20" cy="31" fill="#C2C2C2" rx="10" ry="10" style="stroke: #383838; stroke-width: 1.0;"/><path d="M22.3896,35.7061 Q21.9111,35.9521 21.3848,36.0752 Q20.8584,36.1982 20.2773,36.1982 Q18.2129,36.1982 17.126,34.8379 Q16.0391,33.4775 16.0391,30.9072 Q16.0391,28.3301 17.126,26.9697 Q18.2129,25.6094 20.2773,25.6094 Q20.8584,25.6094 21.3916,25.7324 Q21.9248,25.8555 22.3896,26.1016 L22.3896,28.3438 Q21.8701,27.8652 21.3813,27.6431 Q20.8926,27.4209 20.373,27.4209 Q19.2656,27.4209 18.7017,28.2993 Q18.1377,29.1777 18.1377,30.9072 Q18.1377,32.6299 18.7017,33.5083 Q19.2656,34.3867 20.373,34.3867 Q20.8926,34.3867 21.3813,34.1646 Q21.8701,33.9424 22.3896,33.4639 Z "/><a href="https://github.com/JetBrains/intellij-community/blob/master/platform/extensions/src/com/intellij/util/messages/Topic.java" target="_top" title="com.intellij.util.messages.Topic" xlink:actuate="onRequest" xlink:href="https://github.com/JetBrains/intellij-community/blob/master/platform/extensions/src/com/intellij/util/messages/Topic.java" xlink:show="new" xlink:title="com.intellij.util.messages.Topic" xlink:type="simple"><text fill="#1C1C1C" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="214" x="33" y="36.291">com.intellij.util.messages.Topic</text></a><line style="stroke: #383838; stroke-width: 1.5;" x1="7" x2="249" y1="46" y2="46"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="12" y="63.5352">+displayName()</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="12" y="80.0234">+broadcastDirection()</text><!--MD5=[8eaccf46e44cd9185ecd868a6bcfa3ae]
|
||||
class ListenerClass--><rect fill="#F8F8F8" filter="url(#f1a5f7qxp0anyk)" height="87.4648" id="ListenerClass" style="stroke: #383838; stroke-width: 1.5;" width="120" x="310" y="8"/><ellipse cx="324" cy="23" fill="#C2C2C2" rx="10" ry="10" style="stroke: #383838; stroke-width: 1.0;"/><path d="M326.3896,27.7061 Q325.9111,27.9521 325.3848,28.0752 Q324.8584,28.1982 324.2773,28.1982 Q322.2129,28.1982 321.126,26.8379 Q320.0391,25.4775 320.0391,22.9072 Q320.0391,20.3301 321.126,18.9697 Q322.2129,17.6094 324.2773,17.6094 Q324.8584,17.6094 325.3916,17.7324 Q325.9248,17.8555 326.3896,18.1016 L326.3896,20.3438 Q325.8701,19.8652 325.3813,19.6431 Q324.8926,19.4209 324.373,19.4209 Q323.2656,19.4209 322.7017,20.2993 Q322.1377,21.1777 322.1377,22.9072 Q322.1377,24.6299 322.7017,25.5083 Q323.2656,26.3867 324.373,26.3867 Q324.8926,26.3867 325.3813,26.1646 Q325.8701,25.9424 326.3896,25.4639 Z "/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="337" y="28.291">ListenerClass</text><line style="stroke: #383838; stroke-width: 1.5;" x1="311" x2="429" y1="38" y2="38"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="316" y="55.5352">+method1()</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="12" x="316" y="72.0234">...</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="316" y="88.5117">+methodN()</text><!--MD5=[ac22afb7b8a06c286e18092d44f495e3]
|
||||
link Topic to ListenerClass--><path d="M262.05,51.5 C262.05,51.5 286.04,51.5 296.75,51.5 " fill="none" id="Topic-ListenerClass" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="309.97,51.5,300.97,47.5,304.97,51.5,300.97,55.5,309.97,51.5" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="304.97" x2="296.97" y1="51.5" y2="51.5"/><polygon fill="#FFFFFF" points="250.05,51.5,256.05,55.5,262.05,51.5,256.05,47.5,250.05,51.5" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="9" x="288.8617" y="66.0116">1</text><!--MD5=[9eb62a90896ab149e6c4251c7f353082]
|
||||
@startuml
|
||||
skinparam monochrome true
|
||||
skinparam shadowing true
|
||||
|
||||
skinparam DefaultFontName Roboto
|
||||
skinparam DefaultMonospacedFontName "Roboto Mono"
|
||||
|
||||
skinparam DefaultFontSize 14
|
||||
skinparam DefaultTextAlignment center
|
||||
skinparam NoteTextAlignment left
|
||||
|
||||
skinparam ActivityBorderThickness 1
|
||||
skinparam PartitionBorderThickness 1.5
|
||||
skinparam classAttributeIconSize 0
|
||||
hide empty fields
|
||||
hide empty methods
|
||||
left to right direction
|
||||
|
||||
class "[[https://github.com/JetBrains/intellij-community/blob/master/platform/extensions/src/com/intellij/util/messages/Topic.java{com.intellij.util.messages.Topic} com.intellij.util.messages.Topic]]" as Topic {
|
||||
+displayName()
|
||||
+broadcastDirection()
|
||||
}
|
||||
class ListenerClass {
|
||||
+method1()
|
||||
{method} ...
|
||||
+methodN()
|
||||
}
|
||||
|
||||
Topic o- -> "1 " ListenerClass
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Java Version: 11.0.6+8-b765.40
|
||||
Operating System: Mac OS X
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 5.9 KiB |
@ -21,7 +21,7 @@ Here are the main components of the messaging API.
|
||||
|
||||
This class serves as an endpoint at the messaging infrastructure. I.e. clients are allowed to subscribe to the topic within particular bus and to send messages to particular topic within particular bus.
|
||||
|
||||

|
||||

|
||||
|
||||
* *display name* just a human-readable name used for logging/monitoring purposes;
|
||||
* *broadcast direction* will be explained in details at Broadcasting. Default value is *TO\_CHILDREN*;
|
||||
@ -38,7 +38,7 @@ Is the core of the messaging system. Is used at the following scenarios:
|
||||
|
||||
Manages all subscriptions for particular client within particular bus.
|
||||
|
||||

|
||||

|
||||
|
||||
* keeps number of *topic handler* mappings (callbacks to invoke when message for the target topic is received)
|
||||
*Note*: not more than one handler per-topic within the same connection is allowed;
|
||||
@ -68,7 +68,7 @@ public interface ChangeActionNotifier {
|
||||
|
||||
*Subscribing*
|
||||
|
||||

|
||||

|
||||
|
||||
> **NOTE** If targeting 2019.3 or later, use [declarative registration](/basics/plugin_structure/plugin_listeners.md) if possible.
|
||||
|
||||
@ -90,7 +90,7 @@ public void init(MessageBus bus) {
|
||||
|
||||
*Publishing*
|
||||
|
||||

|
||||

|
||||
|
||||
```java
|
||||
public void doChange(Context context) {
|
||||
@ -123,13 +123,13 @@ So, it's possible to subscribe to them in order to receive information about the
|
||||
|
||||
Message buses can be organised into hierarchies. Moreover, the *IntelliJ Platform* has them already:
|
||||
|
||||

|
||||

|
||||
|
||||
That allows to notify subscribers registered in one message bus on messages sent to another message bus.
|
||||
|
||||
*Example:*
|
||||
|
||||

|
||||

|
||||
|
||||
Here we have a simple hierarchy (*application bus* is a parent of *project bus*) with three subscribers for the same topic.
|
||||
|
||||
@ -166,7 +166,7 @@ The IntelliJ Platform's Messaging infrastructure guarantees that all messages se
|
||||
|
||||
Suppose we have the following configuration:
|
||||
|
||||

|
||||

|
||||
|
||||
Let's see what happens if someone sends a message to the target topic:
|
||||
|
||||
|