--- _layout: landing --- Welcome! This project implements the [relational document](/) concepts for Java, Kotlin, Scala, and Groovy applications. ## Modules The coordinate structure for these packages is ```xml solutions.bitbadger.documents [package] 1.0.0-RC1 ``` ### solutions.bitbadger.documents.core ![Maven Central Version](https://img.shields.io/maven-central/v/solutions.bitbadger.documents/core) This module does most of the heavy lifting for all languages. It provides an optimal Java experience and an optimal Kotlin experience when using a reflection-based JSON serializer. Queries that can return one-or-none return an `Optional` instance. This module also has Kotlin extensions on the JDBC `Connection` type ### solutions.bitbadger.documents.groovy ![Maven Central Version](https://img.shields.io/maven-central/v/solutions.bitbadger.documents/groovy) This far-out module provides Groovy-style extension methods on the `Connection` type. (Right on!) ### solutions.bitbadger.documents.scala ![Maven Central Version](https://img.shields.io/maven-central/v/solutions.bitbadger.documents/scala) This module provides a native Scala API for this library, using its collection types instead of the default Java collections, and returns the Scala `Option[A]` type for one-or-none queries. It also provides Scala extension methods for the `Connection` type. ### solutions.bitbadger.documents.kotlinx ![Maven Central Version](https://img.shields.io/maven-central/v/solutions.bitbadger.documents/kotlinx) This module utilizes [`kotlix.serialization`][kotlinx] for its serialization and deserialization, which implements these actions without reflection. As its primary consumer is Kotlin, it returns `null` for one-or-none queries. [kotlinx]: https://github.com/Kotlin/kotlinx.serialization "KotlinX Serialization • GitHub"