Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
/kotlin-datastorePublic archive

high-level kotlin library for accessing Google cloud datastore

License

NotificationsYou must be signed in to change notification settings

Khan/kotlin-datastore

Repository files navigation

A high-level library for accessing Google cloud datastore from kotlin / jvm.

Datastore models are represented as plain data classes. Datastore access goesthrough a global singleton objectDB. The general design is heavilyinfluenced by the python db and ndb datastore client libraries.

Work-in-progress library documentation

This project is organized into two subprojects (which are packaged intoindependent artifacts):

  1. schema-metadataThis contains annotations and types for defining datastore models as kotlindata classes. Everything in here is independent of the Google cloud clientlibraries and could be used for expressing schemas for other databases aswell.

  2. google-cloud-datastoreCode for using data classes defined within the schema-metadata package asGoogle cloud datastore entities. Also contains a default test stub.

Status

This is currently mostly feature complete and is being used in production,but we're still numbering releases as pre-1.0 for now to allow some greaterflexibility for iterating on the public API as we start to use it more.

Functionality planned prior to a first release:

  • Datastore get-by-key
  • Transactions
  • Asynchronous operation (via kotlin coroutines)
  • Datastore queries (via aMap-like interface)
  • Datastore writes
  • multi-get and -put
  • Use of plain kotlin data classes to represent datstore models
  • Reflective implementation of converting Google datastore clientEntitys to data class instances
  • Reflective implementation of converting data class instances to Google datastore clientEntitys
  • Annotations for assigning a different in-datastore name to a property
  • Annotations for choosing whether to index a property
  • Primitive, nonrepeated properties
  • Repeated properties
  • Nested entity properties
  • Timestamp properties
  • Key properties
  • Location properties
  • Json properties
  • Computed properties
  • Other miscellaneous property types (in general we plan to support equivalents of thestandard ndb property types athttps://cloud.google.com/appengine/docs/standard/python/ndb/entity-property-reference#properties_and_value_types)
  • Backend using the google-cloud-java datastore client
  • Test stub backend

Functionality planned after a first release:

  • Independent transaction propagation mode
  • Nontransactional context to escape from an ongoing transaction
  • Annotation-processor-based generation of nonreflective converters to/fromEntity
  • Annotation-processor-based typed query builders
  • Generation of bigquery schemas from model data classes

License

MIT, see LICENSE file.

About

high-level kotlin library for accessing Google cloud datastore

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors6


[8]ページ先頭

©2009-2025 Movatter.jp