XContentBuilder: как запустить объект в поле? - PullRequest
0 голосов
/ 27 февраля 2020

У меня очень многоуровневый и вложенный объект, и я хочу сделать что-то вроде:

.field("meta", (builder.startObject()
                      .field("description", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getDescription())
                      .field("database", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getDatabase())
                      .field("owner", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getOwner().orElse(null)))
                      .field("codeOwners", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getCodeOwners().orElse(null))
                      .field("imgSrc", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getImgSrc())
                      .field("isPublic", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getIsPublic())
                      .field("yamlSrc", (builder.startObject()
                          .field("packageVersion", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getYamlSrc().get().getPackageVersion())
                          .field("packageName", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getYamlSrc().get().getPackageName())
                          .field("relativePath", eventDefinitionWithBuildInfo.getEventDefinition().getMeta().get().getYamlSrc().get().getRelativePath())
                          .endObject()
                      )
                      .endObject()))

Но это не работает. Как добавить пользовательский объект (в котором также могут быть другие пользовательские объекты) в поле?

...