Неопределенное количество аргументов в UML - PullRequest
0 голосов
/ 07 июня 2019

Я хочу сделать публичный метод:

fun createStringBinding(@PropertyKey(resourceBundle = BUNDLE_NAME) key: String, vararg args: Any): StringBinding {
  return Bindings.createStringBinding(Callable { get(key, *args) }, Settings.language)
}

как бы это выглядело в UML Я делал это так, но я не уверен, что это правильно ия также не знаю, где это искать ...
enter image description here
Это правильно?

1 Ответ

3 голосов
/ 07 июня 2019

Обозначение для операций описано в спецификациях UML, опубликованных OMG, версия 2.5.1, раздел 9.6.4, и для параметров в разделе 9.4.4. Последнее гласит следующее:

<parameter> ::= [<direction>] <parameter-name> ’:’ <type-expression> [’[’<multiplicity-range>’]’] [’=’ <default>] [’{’ <parm-property> [’,’ <parm-property>]* ’}’]

Кратность должна быть указана за типом параметра, а не за именем. Ваша операция будет указана следующим образом:

+ createStringBinding(key : String, args : Any[0..*]): StringBinding

Обратите внимание, что Any и StringBinding не являются стандартными типами данных UML.

UML не имеет стандартной записи для аннотаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...