All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sandinh.couchbase.document.JsDocument.scala Maven / Gradle / Ivy

package com.sandinh.couchbase.document

import com.couchbase.client.core.message.kv.MutationToken
import com.couchbase.client.java.document.AbstractDocument
import play.api.libs.json.{Reads, Json, Writes, JsValue}

class JsDocument(
  id: String = null,
  content: JsValue = null,
  expiry: Int = 0,
  cas: Long = 0,
  mutationToken: MutationToken = null
) extends AbstractDocument[JsValue](id, expiry, content, cas, mutationToken) {
  @inline final def as[T: Reads]: T = content.as[T]
}

object JsDocument {
  def apply[T: Writes](
    id: String = null,
    content: T = null,
    expiry: Int = 0,
    cas: Long = 0,
    mutationToken: MutationToken = null
  ) = new JsDocument(id, Json.toJson(content), expiry, cas, mutationToken)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy