3.4 KiB
_layout | title |
---|---|
landing | Welcome! |
Welcome! This project implements the relational document concepts for Java, Kotlin, Scala, and Groovy applications. It uses four different modules to provide an idiomatic developer experience across four major JVM languages.
Depend on Them
The coordinate structure for these packages is
<groupId>solutions.bitbadger.documents</groupId>
<artifactId>[module]</artifactId>
<version>1.0.0-RC1</version>
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<T>
instance. This module also has Kotlin extensions on the JDBC Connection
type
groovy 
This far-out module provides Groovy-style extension methods on the Connection
type. (Right on!)
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.
kotlinx 
This module utilizes kotlix.serialization
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.
Read All about Them
-
The "Docs" heading above will take you to the "Getting Started" page for these libraries, and is the entry point for all documentation (currently under active development).
-
The "Core API" heading links to the JavaDoc for the
core
module. Groovy consumers can also review theConnection
extension functions there. -
The "Scala API" heading links to the ScalaDoc for the
scala
module. -
The "KotlinX API" heading links to the JavaDoc for the
kotlinx
module.
Talk about Them
Bit Badger Solutions' Git is not set up for account registration (yet! -- Homer Simpson). However, the author can be reached as @Bit_Badger
on Twitter, daniel@fedi.summershome.org
on the Fediverse, or via e-mail as daniel
at the parent domain to this site's domain. This project is open to the public, so you will be able to track the progress of any issues you may report.