Управление типами в движке FEEL
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
Эта документация посвящена поддерживаемым типам значений переменных при использовании внутри выражения FEEL и поддерживаемым выходным типам.
В DMN при задании атрибута typeRef на элементах Variable, Input или Output движок DMN пытается сконвертировать значение результата соответствующего Literal Expression,
Input Expression или Output Entry. Когда никакой атрибут typeRef не задан, движок DMN передает возвращаемое значение движка FEEL напрямую без конвертации. Обратитесь к документации по поддерживаемым типам данных в DMN, чтобы получить больше информации об атрибуте typeRef.
Движок FEEL может поддерживать больше типов, чем перечислено ниже. Однако, данная страница ограничивается перечислением типов, про которые мы точно знаем, что они:
-
хорошо интегрированы с Camunda 7
-
покрыты автоматизированными тестами
Поддерживаемые типы значений переменных
Значения переменных, принадлежащих к типам, перечисленным в этом разделе, могут обрабатываться движком FEEL при передаче.
Нативные типы Java
-
java.lang.String -
java.lang.Float -
java.lang.Double -
java.lang.Integer -
java.lang.Long -
java.lang.Boolean -
java.util.Date -
java.util.Map -
java.util.List
Spin типы
-
io.openbpm.spin.json.SpinJsonNode -
io.openbpm.spin.xml.SpinXmlElement
Для получения дополнительной информации об интеграции с Camunda Spin см. Интеграция движка FEEL со Spin.
Возвращаемые типы
В таблице показано:
-
Какое возвращаемое значение выражения FEEL соответствует какому типу Java в маппинге
-
Какой конкретный тип переменной Camunda 7 назначается соответствующему типу Java
Пример FEEL выраженя Возвращаемый тип в движке FEEL Тип переменной в Camunda null
null
null
"foo"
java.lang.String
string
3.1415
java.lang.Double
double
3
java.lang.Long
long
true
java.lang.Boolean
boolean
time("11:45:30")
java.time.LocalTime
object
time("11:45:30+02:00") time("10:31:10@Europe/Paris")
io.openbpm.feel.syntaxtree.ZonedTime
object
date("2017-03-10")
java.time.LocalDate
object
date and time("2019-08-12T22:22:22")
java.time.LocalDateTime
object
date and time("2019-08-12T22:22:22+02:00") date and time("2019-08-12T22:22:22@Europe/Berlin")
java.time.ZonedDateTime
object
duration("P4D")
java.time.Duration+
object
duration("P1Y6M")
java.time.Period
object
{ "foo": "bar" }
java.util.Map
object
[ "foo", "bar", "baz" ]
java.util.List *
object
-
Поскольку движок FEEL основан на библиотеке Scala, используется специфичный для реализации Scala тип для
MapиList
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org