Android Studio UML 插件 PlantUML 使用语法
活动标签(activity label)以冒号开始,以分号结束。
文本格式支持creole wiki语法。
活动默认安装它们定义的顺序就行连接。
@startuml
:Hello world;
:This is on defined on
several **lines**;
@enduml

开始/结束
你可以使用关键字start
和stop
表示图示的开始和结束。
@startuml
start
:Hello world;
:This is on defined on
several **lines**;
stop
@enduml

也可以使用 end
关键字。
@startuml
start
:Hello world;
:This is on defined on
several **lines**;
end
@enduml

条件语句
在图示中可以使用关键字if
,then
和else
设置分支测试。标注文字则放在括号中。
@startuml start if (Graphviz installed?) then (yes)
:process all\ndiagrams;
else (no)
:process only
__sequence__ and __activity__ diagrams;
endif stop @enduml

也可以使用关键字elseif
设置多个分支测试。
@startuml
start
if (condition A) then (yes)
:Text 1;
elseif (condition B) then (yes)
:Text 2;
stop
elseif (condition C) then (yes)
:Text 3;
elseif (condition D) then (yes)
:Text 4;
else (nothing)
:Text else;
endif
stop
@enduml

重复循环
你可以使用关键字repeat
和repeatwhile
进行重复循环。
@startuml start repeat
:read data;
:generate diagrams;
repeat while (more data?) stop @enduml

while循环
可以使用关键字while
和end while
进行while循环。
@startuml start while (data available?)
:read data;
:generate diagrams;
endwhile stop @enduml

还可以在关键字endwhile
后添加标注,还有一种方式是使用关键字is
。
@startuml
while (check filesize ?) is (not empty)
:read file;
endwhile (empty)
:close file;
@enduml

并行处理
你可以使用关键字fork
,fork again
和end fork
表示并行处理。
@startuml start if (multiprocessor?) then (yes)
fork
:Treatment 1;
fork again
:Treatment 2;
end fork
else (monoproc)
:Treatment 1;
:Treatment 2;
endif @enduml

注释
文本格式支持creole wiki语法。
A note can be floating, using floating
keyword.
@startuml start
:foo1;
floating note left: This is a note
:foo2;
note right
This note is on several
//lines// and can
contain <b>HTML</b>
====
* Calling the method ""foo()"" is prohibited
end note
stop @enduml

标题和图例
你可以给图表(diagram)添加标题、标头、脚注和图例。
@startuml
title this is my title
if (condition?) then (yes)
:yes;
else (no)
:no;
note right
this is a note
end note
endif
stop legend
this is the legend
endlegend footer dummy footer
header
this is
a long __dummy__ header
end header @enduml

颜色
你可以为活动(activity)指定一种颜色。
@startuml start
:starting progress;
#HotPink:reading configuration files
These files should edited at this point!;
#AAAAAA:ending of the process; @enduml

箭头
使用->
标记,你可以给箭头添加文字或者修改箭头颜色。
It's also possible to have dotted, dashed, bold or hidden arrows.
@startuml
:foo1;
-> You can put text on arrows;
if (test) then
-[#blue]->
:foo2;
-[#green,dashed]-> The text can
also be on several lines
and **very** long...;
:foo3;
else
-[#black,dotted]->
:foo4;
endif
-[#gray,bold]->
:foo5;
@enduml

组合(grouping)
通过定义分区(partition),你可以把多个活动组合(group)在一起。
@startuml
start
partition Initialization {
:read config file;
:init internal variable;
}
partition Running {
:wait for user interaction;
:print information;
} stop
@enduml

泳道(Swimlanes)
你可以使用管道符|
来定义泳道。
还可以改变泳道的颜色。
@startuml
|Swimlane1|
start
:foo1;
|#AntiqueWhite|Swimlane2|
:foo2;
:foo3;
|Swimlane1|
:foo4;
|Swimlane2|
:foo5;
stop
@enduml

分离(detach)
可以使用关键字detach
移除箭头。
@startuml
:start;
fork
:foo1;
:foo2;
fork again
:foo3;
detach
endfork
if (foo4) then
:foo5;
detach
endif
:foo6;
detach
:foo7;
stop
@enduml

特殊领域语言(SDL)
通过修改活动标签最后的分号分隔符(;
),可以为活动设置不同的形状。
|
<
>
/
]
}
@startuml
:Ready;
:next(o)|
:Receiving;
split
:nak(i)<
:ack(o)>
split again
:ack(i)<
:next(o)
on several line|
:i := i + 1]
:ack(o)>
split again
:err(i)<
:nak(o)>
split again
:foo/
split again
:i > 5}
stop
end split
:finish;
@enduml

一个完整的例子
@startuml start
:ClickServlet.handleRequest();
:new page;
if (Page.onSecurityCheck) then (true)
:Page.onInit();
if (isForward?) then (no)
:Process controls;
if (continue processing?) then (no)
stop
endif if (isPost?) then (yes)
:Page.onPost();
else (no)
:Page.onGet();
endif
:Page.onRender();
endif
else (false)
endif if (do redirect?) then (yes)
:redirect process;
else
if (do forward?) then (yes)
:Forward request;
else (no)
:Render page template;
endif
endif stop @enduml

Android Studio UML 插件 PlantUML 使用语法的更多相关文章
- [Android Studio]SQLScout插件安装破解
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...
- Android Studio 工具插件
1.Android Studio 翻译插件,可以将英文翻译为中文. https://github.com/Skykai521/ECTranslation 2.Android Studio之Androi ...
- Android项目实战(十九):Android Studio 优秀插件: Parcelable Code Generator
Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...
- Android开发实战(十八):Android Studio 优秀插件:GsonFormat
Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...
- Android Studio常用插件续
这个月因为各种事情在忙,包括赶项目,回老家,还有准备旅游的事,所以应该写不了四篇博客了.今天介绍一下关于Android Studio 的几个好用的插件,都是我在用的,它们或能帮你节省时间,或者让你心情 ...
- Android Studio安装插件Genymotion
Android Studio安装插件的方式其实和Eclipse大同小异.废话不多说,直接上图: 区域1:你当前已经安装了的插件 区域2:在线安装 区域3:从硬盘安装,即针对你已经下载好了的插件,可通过 ...
- Android Studio加入插件(Genymotion)
官方模拟器的龟速已让我们无力吐槽.幸好有genymotion这款逆天的Android虚拟机,它有着高速的开启速度,良好的交互界面. 是Android开发必备的良品.甚至有些玩家已经用genymotio ...
- [Android] Android studio gradle 插件的版本号和 gradle 的版本号 的对应关系
[Android] Android studio gradle 插件的版本号和 gradle 的版本号 的对应关系 本博客地址: wukong1688 本文原文地址:https://www.cnblo ...
- Android Studio 优秀插件汇总
第一部分 插件的介绍 Google 在2013年5月的I/O开发者大会推出了基于IntelliJ IDEA java ide上的Android Studio.AndroidStudio是一个功能齐全的 ...
随机推荐
- iOS 宏(define)与常量(const)的正确使用
在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? #define HSCoder @ ...
- 存储过程:当基站ID大于1000的时候,把ID通过存储过程插入表,然后处理
不推荐这么弄,没办法,项目逼到这了,以后尽量避免这样的需求发生! CREATE OR REPLACE PROCEDURE insert_tempStation_proc(v_instr in clob ...
- RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充
RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充 做Web开发的同志应该都深有体会,在web程序中打印不再象应用程序中那样便于控制了,web程序天生的一些特性造成了这个缺点, ...
- Java Servlet(八):EL自定义函数
EL自定义函数:在EL表达式中调用的某个java类的静态方法,这个静态方法需在web应用程序中进行配置才可以被EL表达式调用. EL自定义函数可以扩展EL表达式的功能,让EL表达式完成普通java程序 ...
- .net下的跨域问题
环境: IIS7.0 MVC 4.0 公司官网 asp.net 需要的报名系统,需要有后台管理 由于是配合传统产业,所以MVC系统的数据,是由AIPS系统提供. (制作前是考虑去年用 ...
- 移动端开发tips
为什么使用touch click有300sm的延迟 touch支持多点触摸 手势操作
- paper 103:ELM算法
ELM(Extreme Learning Machine)是一种新型神经网络算法,最早由Huang于2004年提出[Extreme learning machine: a new learning s ...
- [ThinkPHP]打开页面追踪调试
页面追踪调试 要打开它,需要: 1.在配置文件中,加入配置项 'SHOW_PAGE_TRACE'=>true, 2.控制器中需要 class IndexController ex ...
- JQuery EasyUI的datagrid的使用方式总结
JQuery EasyUI的datagrid的使用方式总结第一步:添加样式和js脚本在前台添加展示数据表格的table元素 例如: <div> <table id="tt& ...
- svn使用方法介绍(1)
TotoiseSVN的基本使用方法 在 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]中,我已经讲解了怎样安装TortoiseSVN.在上面的讲解中已经讲了怎么使用VisualS ...