From d0e782687a91294d7a874e6d4daf313d264f6563 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 27 Sep 2019 11:38:43 +0200 Subject: [PATCH] DATAMONGO-2379 - Add documentation for Kotlin support. Original Pull Request: #794 --- src/main/asciidoc/index.adoc | 1 + src/main/asciidoc/reference/kotlin.adoc | 29 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/asciidoc/reference/kotlin.adoc diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc index 5d3727c59..66dfee37c 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -29,6 +29,7 @@ include::reference/reactive-mongo-repositories.adoc[leveloffset=+1] include::{spring-data-commons-docs}/auditing.adoc[leveloffset=+1] include::reference/mongo-auditing.adoc[leveloffset=+1] include::reference/mapping.adoc[leveloffset=+1] +include::reference/kotlin.adoc[leveloffset=+1] include::reference/cross-store.adoc[leveloffset=+1] include::reference/jmx.adoc[leveloffset=+1] include::reference/mongo-3.adoc[leveloffset=+1] diff --git a/src/main/asciidoc/reference/kotlin.adoc b/src/main/asciidoc/reference/kotlin.adoc new file mode 100644 index 000000000..73f9a3924 --- /dev/null +++ b/src/main/asciidoc/reference/kotlin.adoc @@ -0,0 +1,29 @@ +include::../{spring-data-commons-docs}/kotlin.adoc[] + +include::../{spring-data-commons-docs}/kotlin-extensions.adoc[leveloffset=+1] + +To retrieve a list of `SWCharacter` objects in Java, you would normally write the following: + +[source,java] +---- +Flux characters = template.find(SWCharacter.class).inCollection("star-wars").all() +---- + +With Kotlin and the Spring Data extensions, you can instead write the following: + +[source,kotlin] +---- +val characters = template.find().inCollection("star-wars").all() +// or (both are equivalent) +val characters : Flux = template.find().inCollection("star-wars").all() +---- + +As in Java, `characters` in Kotlin is strongly typed, but Kotlin's clever type inference allows for shorter syntax. + +Spring Data MongoDB provides the following extensions: + +* Reified generics support for `MongoOperations`, `ReactiveMongoOperations`, `FluentMongoOperations`, `ReactiveFluentMongoOperations`, and `Criteria`. +* <> +* <> extensions for `ReactiveFluentMongoOperations`. + +include::../{spring-data-commons-docs}/kotlin-coroutines.adoc[leveloffset=+1]